Add end-2-end tests via distribution containers#116
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an end-to-end (e2e) test suite that validates pkgproxy against real distro package managers running in containers, and updates the HTTP landing page snippets/docs to be more release-agnostic for DEB-based distros.
Changes:
- Added
//go:build e2eGo test that builds/startspkgproxy, then runs Fedora/Debian/Arch containers to install packages through the proxy and asserts cache population. - Added per-distro shell scripts for
dnf,apt, andpacmanto run inside containers. - Updated landing page snippets (and unit tests) to use
<release>placeholders for Debian/Ubuntu and added amake e2etarget; updated README/CHANGELOG and added spec documentation.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 12 comments.
Show a summary per file
| File | Description |
|---|---|
| test/e2e/e2e_test.go | New container-based e2e harness that starts pkgproxy, runs distro containers, and verifies cached artifacts. |
| test/e2e/test-dnf.sh | DNF helper script for Fedora/COPR container installs through pkgproxy. |
| test/e2e/test-apt.sh | APT helper script that writes sources.list pointing at pkgproxy and installs packages. |
| test/e2e/test-pacman.sh | Pacman helper script that rewrites mirrorlist to point at pkgproxy and installs packages. |
| pkg/pkgproxy/landing.go | Landing page snippet generation updated to use <release> placeholders for Debian/Ubuntu. |
| pkg/pkgproxy/landing_test.go | Unit test expectations updated for the new placeholder snippets. |
| Makefile | Adds make e2e target to run the new tagged test package. |
| README.md | Updates Debian/Ubuntu example codenames and fixes a stale CentOS Stream hostname. |
| CHANGELOG.md | Notes the addition of e2e tests and the landing snippet placeholder change. |
| openspec/changes/e2e-package-manager-tests/.openspec.yaml | Adds OpenSpec change metadata for this feature. |
| openspec/changes/e2e-package-manager-tests/tasks.md | Adds task checklist for implementing the change set. |
| openspec/changes/e2e-package-manager-tests/proposal.md | Documents motivation and scope for e2e testing + snippet updates. |
| openspec/changes/e2e-package-manager-tests/design.md | Design decisions for host-side proxy + containerized package manager tests. |
| openspec/changes/e2e-package-manager-tests/specs/e2e-testing/spec.md | Requirements/spec for the new e2e testing capability. |
| openspec/changes/e2e-package-manager-tests/specs/http-landing-page/spec.md | Requirements/spec for landing page snippet behavior and consistency with README. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
openspec/changes/e2e-package-manager-tests/specs/e2e-testing/spec.md
Outdated
Show resolved
Hide resolved
…pets Add end-to-end tests that start a real pkgproxy process and exercise real package managers (dnf, apt, pacman) in containers against real upstream mirrors. Tests are gated behind a //go:build e2e tag and run via `make e2e`. Container runtime (podman/docker) is auto-detected. Update Debian/Ubuntu landing page snippets to use <release> placeholder instead of hardcoded codenames. Update README examples to current stable releases (Debian trixie, Ubuntu noble) and fix stale hostname in CentOS Stream example. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38393fc to
3567a49
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.