The cache key doesn't include the branch, but GitHub only lets a run
restore caches from its own branch or its base branch. Document this and
how to share one cache across branches by populating it on the default
branch.
Refs #186
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
golangci-lint v2 (from #223) flags ST1005 on error strings ending in
punctuation. Rebuild the committed apt_query binaries and source hash.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#223 changed src/internal/cmdtesting/cmdtesting.go, which is part of the
hashed Go sources. The rebuilt binaries are byte-identical; only the
source hash changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Remove dependency on cache-apt-pkgs-action-ci repo
The action's own workflows (action-tests.yml) already run the same test
jobs as the -ci repo, against the local checkout before merge, so the
separate CI repo is redundant.
- Remove the pub_{master,dev,staging}_push_event.yml workflows that
dispatched events to the -ci repo (PUBLISH_PUSH_TOKEN secret can be
deleted from repository settings).
- Point the README test badges at action-tests.yml.
- Port the release-tag tooling (moves the v1 and latest tags) from the
-ci repo into scripts/release/ and add an update_release_tags
workflow. Scripts now operate on the current clone instead of
assuming a sibling checkout, run non-interactively when CI=true, and
fix the target-tag validation bug in copy_tag.sh.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0112vpMFQJc7Nz7FwE71r5do
* Upgrade golangci-lint to v2 for golangci-lint-action v9
golangci-lint-action >= v7 rejects golangci-lint v1, so the Lint step
failed before installing. Move to golangci-lint v2.14.0 and add a v2
config that keeps the default exclusions v1 applied implicitly. Fix the
one new staticcheck QF1008 finding.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Update expected gir1.2-gdkpixbuf-2.0 version in action tests
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
lib.sh disables errexit, so failures from package resolution, apt-fast
install, and repository setup were ignored and an incomplete install could
be cached. Check each of these explicitly and abort with a distinct exit
code, and verify every requested package is installed before caching.
- Report virtual packages with no providers (e.g. python on 22.04) with a
clear error instead of a mangled "Reverse=Provides:" package (#166).
- Stop reporting each apt_query error twice.
- Guard logging.Debug against an uninitialized logger.
- Add an abort helper to lib.sh and use it for all abort sites.
- Add distribute.sh build-committed-binaries / check-committed-binaries and
apt_query.srchash so PR CI fails when the committed binaries are stale
(#166, #218). Release and committed builds share build_apt_query.
- Rebuild the committed apt_query binaries.
- Make the expected-failure tests actually fail when the action succeeds,
and add regression tests for #166 and #221.
Fixes#166Fixes#221
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Updated variable expansions to use double quotes for better safety and to prevent word splitting.
- Replaced `ls` with `find` in cache operations to handle non-alphanumeric filenames more robustly.
- Enhanced array handling in scripts by using `${*:N}` syntax for concatenation.
- Improved readability and consistency in conditional checks by using `[[ ... ]]` instead of `[ ... ]`.
- Added comments for clarity on specific operations and shellcheck directives.
* Initial plan
* Fix test workflows to download artifacts and use local action
- Add needs: [build_binaries] to all test jobs that use the action
- Replace remote action references with local (uses: ./)
- Add checkout step where missing
- Add artifact download and distribute directory setup before action usage
- This ensures binaries built by build_binaries job are available when tests run
Co-authored-by: awalsh128 <2087466+awalsh128@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: awalsh128 <2087466+awalsh128@users.noreply.github.com>
1. The logic for listing the files to be cached was using `&&`s between
the listing of the package files, the preinst script and postinst script.
Therefore if there wasn't a preinst script, a postinst script wasn't
checked for.
2. get_install_script_filepath was being passed an empty root file path
so it would never find any files.
Resolves: #194
* Bump actions/cache off of Node 20
* Bump actions/upload-artifact off of Node 20
---------
Co-authored-by: Sebastian P <241632094+immoseb@users.noreply.github.com>
* Initial plan
* Fix ls error when no tar files exist in cache restore
Co-authored-by: awalsh128 <2087466+awalsh128@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: awalsh128 <2087466+awalsh128@users.noreply.github.com>