Add in-repo action integration tests#190
Open
robtaylor wants to merge 2 commits intoawalsh128:masterfrom
Open
Conversation
Bring the integration tests from the separate cache-apt-pkgs-action-ci repo into this repo. Tests now use `uses: ./` to test the local checkout directly, eliminating the need for cross-repo dispatch events. Tests cover: - Core workflow: install, restore, cache invalidation, package ordering - Error handling: empty packages, missing packages, invalid version - Regression tests: issues awalsh128#36, awalsh128#37, awalsh128#72, awalsh128#76, awalsh128#79, awalsh128#81, awalsh128#84, awalsh128#89, awalsh128#98, awalsh128#106 - Special cases: multi-arch cache keys, virtual packages Changes from the external CI tests: - Uses `uses: ./` instead of `uses: awalsh128/cache-apt-pkgs-action@master` - Updated checkout to actions/checkout@v4 - Made version-list assertions resilient (grep for expected packages rather than exact string match, since dependency versions change with Ubuntu updates) - Improved error-case verification (check outcome != failure rather than only running on failure) - Triggers on push to master/dev/staging and on pull requests Co-developed-by: Claude Code v2.1.58 (claude-opus-4-6)
After cache restore, dpkg had no record of the installed packages because: 1. Only preinst/postinst scripts were cached from /var/lib/dpkg/info/, missing .list, .md5sums, .conffiles, and other metadata files 2. The dpkg status database (/var/lib/dpkg/status) was never updated This meant dpkg -s, apt list --installed, and anything checking package state would not see the restored packages. Fix: - Cache all /var/lib/dpkg/info/<package>.* files (not just install scripts) - Save each package's dpkg status entry to a .dpkg-status file - On restore, append status entries to /var/lib/dpkg/status (skipping packages that are already registered) Adds tests verifying dpkg -s reports packages as installed after both fresh install and cache restore. Co-developed-by: Claude Code v2.1.58 (claude-opus-4-6)
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.
Summary
cache-apt-pkgs-action-cirepo into this repouses: ./to test the local checkout directlyPUBLISH_PUSH_TOKENsecretsChanges from external CI tests
uses: awalsh128/cache-apt-pkgs-action@master→uses: ./actions/checkout@v3.1.0→actions/checkout@v4Test plan