cache-apt-pkgs-action/.github/workflows/pull_request.yml
awalsh128 06ebcd9b21 Fail the action on package resolution and install errors
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 #166
Fixes #221

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 15:50:38 -08:00

33 lines
797 B
YAML

name: Pull Request
on:
pull_request:
types: [opened, synchronize]
permissions:
contents: read
jobs:
integrate:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0
with:
go-version-file: "go.mod"
- name: Build and test
run: |
go build -v ./...
go test -v ./...
- name: Check committed binaries are up to date
run: ./scripts/distribute.sh check-committed-binaries
- name: Lint
uses: golangci/golangci-lint-action@d583c34f0599d37dbac4a198b9c83201be380893 # v9.3.0
with:
version: v1.52.2