Repository navigation
ci: pin regctl release + widen toolchain freshness-guard bats coverage (#1304) - #1313
Merged
Merged
Conversation
The verify-toolchain-pin job installed regctl via regctl-installer with the action's default 'latest' release, so a new regctl could change this required check's behavior without any change in the repo. Pin it to an explicit released version (v0.11.6) for reproducibility. Claude-Session: https://claude.ai/code/session_01KXA4x9LrA2AsnLrvdHMZbS
verify-toolchain-pin.bats: add the branches flagged as uncovered in the
prebuilt-toolchain-image review —
* same-repo run where the pinned :$KEY tag does not resolve in GHCR
-> hard exit 1 (failure-closed)
* CHARON_TOOLCHAIN_DIGEST blank / ARG line absent -> hard exit 1
toolchain-key.bats: add per-input sensitivity cases for the tonistiigi/xx
pin and the ALPINE_IMAGE pin (each change flips the recomputed key; an
unchanged re-emit keeps it stable).
Helper gains TF_XX_PIN / TF_ALPINE_IMAGE knobs and a
tf_stub_regctl_unresolvable mock (image digest exits non-zero), reusing
the existing PATH-stub pattern.
Also harden verify-toolchain-pin.sh's arg_value(): a missing ARG line now
yields empty output instead of aborting the script under 'set -e' before
the actionable CHARON_TOOLCHAIN_DIGEST error can print.
Claude-Session: https://claude.ai/code/session_01KXA4x9LrA2AsnLrvdHMZbS
Contributor
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Contributor
✅ Supply Chain Verification Results✅ PASSED 📦 SBOM Summary
🔍 Vulnerability Scan
📎 Artifacts
Generated by Supply Chain Verification workflow • View Details |
This was referenced Sep 8, 2026
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.
Small non-blocking follow-ups from the prebuilt-toolchain-image work (#1300), tracked in #1304.
Item A — pin the
regctlrelease version.github/workflows/quality-checks.ymlverify-toolchain-pinjob installedregctlviaiarekylew00t/regctl-installerwith the action's defaultregctl-release: latest, so a newregctlrelease could shift this required check's behavior with no repo change. Now pinned toregctl-release: v0.11.6(current stable, released 2026-09-02) with a comment explaining why.Item B — widen the freshness-guard bats matrix
scripts/tests/verify-toolchain-pin.bats::$KEYtag does not resolve in the registry -> hardexit 1(failure-closed). Newtf_stub_regctl_unresolvablehelper mock (image digestexits non-zero), reusing the existing PATH-stub pattern.CHARON_TOOLCHAIN_DIGESTblank value andARGline absent -> hardexit 1.scripts/tests/toolchain-key.bats:FROM tonistiigi/xx:...pin andARG ALPINE_IMAGE— changing either flips the recomputed key; an unchanged re-emit keeps it stable. NewTF_XX_PIN/TF_ALPINE_IMAGEfixture knobs.Also hardened
verify-toolchain-pin.sharg_value(): a missingARGline now yields empty output instead of aborting the script underset -ebefore the actionableCHARON_TOOLCHAIN_DIGEST not founderror can print.bats scripts/tests/— 27/27 green.shellcheck --severity=errorclean on all changed.sh/.bash.lefthook run pre-commitclean.Not in scope
make build-offlineCI coverage and thecaddy-geoip2pin (no upstream tag yet) remain parked in #1304.