Skip to content

Remove integration-tests/go.mod, consolidate into root module#2708

Merged
tempusfrangit merged 5 commits intomainfrom
md/nuke-it-gomod
Feb 10, 2026
Merged

Remove integration-tests/go.mod, consolidate into root module#2708
tempusfrangit merged 5 commits intomainfrom
md/nuke-it-gomod

Conversation

@michaeldwan
Copy link
Copy Markdown
Member

@michaeldwan michaeldwan commented Feb 9, 2026

Summary

  • Remove the separate integration-tests/go.mod and go.sum, merging the integration tests into the root Go module
  • Eliminates the need to manually sync transitive dependencies across two nested go.mod files
  • Removes the replace github.com/replicate/cog => ../ directive that was a source of friction

Changes

  • integration-tests/go.mod and integration-tests/go.sum: Deleted
  • go.mod: 4 deps promoted from indirect to direct (creack/pty, rogpeppe/go-internal, containerd/errdefs, moby/docker-image-spec)
  • mise.toml: Removed dir = "integration-tests" from test tasks, added ./integration-tests/... package path to gotestsum commands
  • .github/workflows/ci.yaml: Removed integration-tests/go.sum from Go cache path, removed working-directory, added ./integration-tests/... to gotestsum
  • integration-tests/harness/harness.go: Fixed 2 stale comments that referenced the old separate module

Verification

  • go vet ./... passes
  • go mod tidy is clean (no drift)
  • go build -tags integration ./integration-tests/... succeeds

Integration tests are behind the integration build flag. Both CI and MISE have been updated to use the tag.

@michaeldwan michaeldwan requested a review from a team as a code owner February 9, 2026 22:49
@michaeldwan michaeldwan force-pushed the md/nuke-it-gomod branch 3 times, most recently from 98ad0de to 0928894 Compare February 10, 2026 17:03
Maintaining two nested go.mod/go.sum files required manual sync of
transitive dependencies. Merge the integration-tests module into the
root module to eliminate this pain.

- Delete integration-tests/go.mod and go.sum
- Promote 4 deps from indirect to direct in root go.mod
- Update mise.toml and CI to use ./integration-tests/... package path
- Fix stale comments referencing the old separate module
tempusfrangit
tempusfrangit previously approved these changes Feb 10, 2026
The integration test harness was calling 'make wheel' which only builds
the SDK wheel (cog-*.whl) via 'mise run build:sdk', but it checks for
both SDK and coglet wheels. This caused build failures in CI.

Changed to use 'mise run build:wheels' which builds both cog and coglet
wheels, matching what the harness actually checks for.
tempusfrangit
tempusfrangit previously approved these changes Feb 10, 2026
After consolidating integration-tests into the root Go module, the
grep -v /integration-tests/ filter in test:go missed the root package
(no trailing slash), causing TestIntegration to run in the unit test
job without mise, COG_BINARY, or Docker.

Replace the fragile grep filter with a //go:build integration
constraint on suite_test.go. Unit test jobs now use plain ./... and
integration test jobs pass -tags integration.
Tag login_test.go and concurrent_test.go with //go:build integration
to match suite_test.go. Without this, these tests still compiled in
the unit test job and failed looking for mise.
@tempusfrangit
Copy link
Copy Markdown
Contributor

@markphelps this needs a reviewer not named Michael Dwan or Morgan Fainberg. When you have a chance, would be appreciated.

@tempusfrangit tempusfrangit enabled auto-merge (squash) February 10, 2026 20:05
@tempusfrangit tempusfrangit merged commit 9975eef into main Feb 10, 2026
38 checks passed
@tempusfrangit tempusfrangit deleted the md/nuke-it-gomod branch February 10, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants