Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an expanded, multi-distro e2e testing setup (including an on-demand GitHub Actions workflow) and updates pkgproxy configuration/docs to support Ubuntu security repos consistently across config, landing page snippets, and README.
Changes:
- Restructure
test/e2e/e2e_test.gointo per-distro top-level tests, addTestMainto buildpkgproxyonce, and add helpers for repo/sources generation. - Add new e2e coverage for CentOS Stream, AlmaLinux, Rocky Linux, and Ubuntu; improve e2e shell scripts with config dump output for debugging.
- Add
ubuntu-securityrepository support and update landing page snippets, README/CLAUDE docs, Makefilee2etarget, changelog, and a newworkflow_dispatchGitHub Actions e2e workflow.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/e2e/test-pacman.sh | Print configured mirrorlist for easier debugging in Arch runs. |
| test/e2e/test-dnf.sh | Print mounted DNF repo files to aid debugging across RPM distros. |
| test/e2e/test-apt.sh | Stop generating sources.list in-shell; print mounted sources.list for debugging. |
| test/e2e/e2e_test.go | Major refactor: TestMain build-once, per-distro tests, new distros, helper extraction. |
| pkg/pkgproxy/landing_test.go | Update/extend snippet expectations for Ubuntu + new ubuntu-security. |
| pkg/pkgproxy/landing.go | Split Ubuntu security snippet into a distinct ubuntu-security repo snippet. |
| configs/pkgproxy.yaml | Add ubuntu-security repository configuration. |
| README.md | Update Ubuntu apt example to use /ubuntu-security; add e2e testing docs and make targets. |
| Makefile | Add DISTRO/RELEASE filtering for make e2e with a 15m timeout. |
| CLAUDE.md | Document make e2e usage; add rules requiring e2e coverage/consistency. |
| CHANGELOG.md | Note the new default ubuntu-security repository. |
| .github/workflows/e2e.yaml | Add manually-triggered matrix e2e workflow. |
| openspec/changes/e2e-github-workflow/tasks.md | Task checklist for the change set. |
| openspec/changes/e2e-github-workflow/specs/e2e-testing/spec.md | Spec for refactored e2e framework + TestMain build-once approach. |
| openspec/changes/e2e-github-workflow/specs/e2e-multi-distro/spec.md | Spec for new multi-distro coverage and repo patterns. |
| openspec/changes/e2e-github-workflow/specs/e2e-github-workflow/spec.md | Spec for the new GitHub Actions workflow behavior/matrix. |
| openspec/changes/e2e-github-workflow/proposal.md | High-level proposal and impact summary. |
| openspec/changes/e2e-github-workflow/design.md | Design rationale and trade-offs for workflow + e2e restructuring. |
| openspec/changes/e2e-github-workflow/.openspec.yaml | OpenSpec metadata for this change set. |
Comments suppressed due to low confidence (1)
test/e2e/e2e_test.go:147
- For Docker on Linux,
host.docker.internaltypically does not resolve inside containers unless an explicit host mapping is added (e.g.--add-host=host.docker.internal:host-gateway). SinceproxyAddris built fromhostGatewayand the GitHub Actions workflow forcesCONTAINER_RUNTIME=docker, containers may be unable to reach the host-side pkgproxy. Consider adding a Docker-specific flag inrunContainerto ensurehost.docker.internalis resolvable (or otherwise pass the host gateway IP/hostname in a way that works on Linux runners).
func runContainer(t *testing.T, image string, mounts []string, cmdArgs []string) {
t.Helper()
args := []string{"run", "--rm"}
for _, m := range mounts {
args = append(args, "-v", m)
}
args = append(args, image)
args = append(args, cmdArgs...)
t.Logf("running: %s %v", containerRuntime, args)
cmd := exec.Command(containerRuntime, args...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
require.NoError(t, err, "container command failed")
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…y repo - Add GitHub Actions workflow (.github/workflows/e2e.yaml) with workflow_dispatch trigger and matrix strategy for 7 distro/release tuples - Restructure e2e tests from single TestE2E into per-distro top-level functions (TestFedora, TestDebian, TestArch) with TestMain building the binary once - Add e2e tests for CentOS Stream, AlmaLinux, Rocky Linux, and Ubuntu with EPEL and COPR coverage for DNF-based distros - Add ubuntu-security repository to pkgproxy config and update landing page snippet and README to use /ubuntu-security for security updates - Move sources.list generation from test-apt.sh into Go test, add repo config printing to all shell scripts - Update Makefile e2e target with DISTRO/RELEASE params and 15m timeout - Update CLAUDE.md and README.md with e2e testing documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
e34c602 to
4f96ce6
Compare
Owner
Author
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.