Skip to content

Add end-2-end tests via distribution containers#116

Merged
ganto merged 3 commits intomainfrom
feature/e2e-package-manager-tests
Mar 21, 2026
Merged

Add end-2-end tests via distribution containers#116
ganto merged 3 commits intomainfrom
feature/e2e-package-manager-tests

Conversation

@ganto
Copy link
Copy Markdown
Owner

@ganto ganto commented Mar 20, 2026

No description provided.

@ganto ganto added enhancement New feature or request go Pull requests that update Go code labels Mar 20, 2026
@ganto ganto requested a review from Copilot March 20, 2026 22:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 e2e Go test that builds/starts pkgproxy, then runs Fedora/Debian/Arch containers to install packages through the proxy and asserts cache population.
  • Added per-distro shell scripts for dnf, apt, and pacman to run inside containers.
  • Updated landing page snippets (and unit tests) to use <release> placeholders for Debian/Ubuntu and added a make e2e target; 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.

…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>
@ganto ganto force-pushed the feature/e2e-package-manager-tests branch from 38393fc to 3567a49 Compare March 21, 2026 21:28
@ganto
Copy link
Copy Markdown
Owner Author

ganto commented Mar 21, 2026

Code review

No 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 👎.

@ganto ganto marked this pull request as ready for review March 21, 2026 21:42
@ganto ganto merged commit 44ad37f into main Mar 21, 2026
7 checks passed
@ganto ganto deleted the feature/e2e-package-manager-tests branch March 21, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request go Pull requests that update Go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants