Skip to content

ci: Run Moby extension integration tests - #8

Merged
vvoland merged 2 commits into
moby:masterfrom
vvoland:work-ci
Oct 1, 2026
Merged

vvoland merged 2 commits into
moby:masterfrom
vvoland:work-ci

Conversation

@vvoland

@vvoland vvoland commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@vvoland
vvoland force-pushed the work-ci branch 2 times, most recently from ca3a92b to 91eff02 Compare September 25, 2026 12:36
Signed-off-by: Paweł Gronowski <git@grono.dev>
Comment thread .github/workflows/ci.yml
Comment on lines +95 to +97
go mod edit -replace=github.com/moby/extensions="${GITHUB_WORKSPACE}/extensions"
go mod tidy
go mod vendor

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering if we should look if go.work is suitable for this;

go work init .
go work edit -replace=github.com/moby/extensions="${GITHUB_WORKSPACE}/extensions"
go work vendor

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if there's any difference in this case? It's only a temporary checkout to run the tests from

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah; I was trying to see if we could make it more align with the intended use of Go.

I was hoping go.work could "augment" the replaced module;

  • use github.com/moby/moby and vendor/
  • but use ${GITHUB_WORKSPACE}/extensions for the extensions module

But unfortunately that doesn't work when using vendor/ - in that case, it only looks at the vendor/ directory so it either must re-vendor, or we need to disable vendor mode, and download all modules.

☝️ I should mention that go mod vendor would already download all modules, so ... perhaps not the worst, but it likely requires changes in the moby integration tests, which assume vendor 🤔

Would look something like;

cd "$GITHUB_WORKSPACE"

go work init ./moby ./extensions

cd moby
GOFLAGS=-mod=readonly make test-integration

@vvoland
vvoland requested review from thaJeztah and a balanced review from Copilot October 1, 2026 11:12

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The workflow correctly builds Moby against the proposed extension code and reports integration failures.

Review effort: Balanced
Findings: None

What changed in this PR

Adds Moby extension integration tests to CI.

Changes:

  • Checks out Moby and replaces its extensions dependency with the PR source.
  • Builds Moby’s development image and runs extension integration tests.
  • Includes integration results in the required success job.
File Description
.github/​workflows/​ci.yml Adds and gates CI on Moby integration testing.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@thaJeztah thaJeztah left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@thaJeztah

Copy link
Copy Markdown
Member

Oh! CI is failing though;

Run # Match the outputs exported by Moby's generate-files target, excluding vendoring changes.
fatal: pathspec 'profiles/seccomp/default.json' did not match any files
Error: Process completed with exit code 128.

Signed-off-by: Paweł Gronowski <git@grono.dev>
@vvoland
vvoland merged commit 34d61a3 into moby:master Oct 1, 2026
6 checks passed
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