Allowlist carabiner v1.2.6 transitive action refs - #1120
Open
potiuk wants to merge 1 commit into
Open
Conversation
The carabiner bumps merged in #1109, #1113, #1114, #1115 and #1116 added the top-level refs (36a39ef6, 4c23ca58) but not the internal refs those versions pin, so the org-wide allowlist rejects them at resolution time. The hourly transitive-failures canary has been red on: The action carabiner-dev/actions@2fec8bd8 is not allowed in apache/infrastructure-actions verify-action-build did flag these during review as "hash-pinned, NOT in our approved list"; the warnings were read as advisory and merged over. Reference chain, each commit an ancestor of the next and all verified carabiner release-bot (miniprow[bot]) commits: 619a474b (already allowlisted) <- 16009dca <- 2fec8bd8 <- 36a39ef6 Adds the five missing path/hash pairs to actions.yml and regenerates approved_patterns.yml. Expiry follows calculate_expiry(12) = 2026-10-21. actions/upload-artifact@ea165f8d, pulled by ampel/verify @ v1.2.6, needs no entry -- GitHub-authored actions are implicitly allowed. Generated-by: Claude Opus 5 (1M context) via Claude Code
Member
Author
|
That one would be nice to merge as well for the transitive deps |
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.
Follow-up from merging #1109, #1113, #1114, #1115 and #1116.
Those bumps added the top-level carabiner refs (
36a39ef6for v1.2.6,4c23ca58for the untagged bootstrap/download-and-verify pair) but not the internal refs those versions pin. The org-wide allowlist resolves transitively, so it rejects them at run time and the hourly canary incheck-for-transitive-failures.ymlhas been failing on:verify-action-builddid flag these during review, ashash-pinned, NOT in our approved liston all four carabiner PRs. The warnings were read as advisory and merged over. They were not advisory.This is not the ASF Infra sync lag that the workflow header warns about:
2fec8bd8and16009dcawere absent from bothactions.ymlandapproved_patterns.yml, so there was nothing for the external sync to pick up.Reference chain
Resolved by reading each
action.ymlat the merged hashes rather than from log output:ampel/verify@36a39ef6(v1.2.6)install/ampel@2fec8bd8,actions/upload-artifact@ea165f8dinstall/ampel@36a39ef6(v1.2.6)install/download-and-verify@2fec8bd8install/bnd@36a39ef6(v1.2.6)install/download-and-verify@2fec8bd8install/download-and-verify@4c23ca58install/ampel-bootstrap@2fec8bd8install/ampel@2fec8bd8install/download-and-verify@16009dcainstall/download-and-verify@2fec8bd8install/ampel-bootstrap@16009dcainstall/download-and-verify@16009dcainstall/ampel-bootstrap@619a474b(already allowlisted)install/ampel-bootstrap@*uses:So the closure needs five new path/hash pairs:
install/ampel@2fec8bd8install/download-and-verify@2fec8bd8,@16009dcainstall/ampel-bootstrap@2fec8bd8,@16009dcaactions/upload-artifact@ea165f8dneeds no entry - GitHub-authored actions are implicitly allowed, andapproved_patterns.ymlcarries noactions/*entries at all.Provenance
Every added commit is a verified
miniprow[bot](carabiner release-bot) commit, and each is an ancestor of the next, terminating at a hash this repo already trusts:Confirmed via
repos/carabiner-dev/actions/compare/<a>...<b>-ahead by 19,4, and2respectively.Notes on the shape of the change
Each entry carries
expires_at, not{}.generate_composite_actiontreats a ref with noexpires_at/keepas the dependabot-tracked live ref and raisesmultiple candidates for auto-updatesif a key has two - which is exactly what an initial{}version of this patch hit. Expiry iscalculate_expiry(12)from today, 2026-10-21, matching the neighbouring entries.approved_patterns.ymlis regenerated and included so the diff shows precisely what reaches the org allowlist.update.ymlregenerates it again on merge; the operation is idempotent. The composite action is deliberately unchanged - transitive refs do not belong in it.Test plan
uv run pytest utils/tests/- 307 passed.prek run --all-files- clean, no files modified (including theSort actions.ymlhook).gateway.update_actions+update_workflow+update_patternsrun: succeeds, produces exactly the 5approved_patterns.ymllines in this diff and no composite change.approved_patterns.ymlis at 362 entries against the 800 warning threshold.eb1897b8dc4bforastral-sh/setup-uvwas the blocker before these merges and is still absent from both files; if it is still referenced anywhere it will likely be what the canary surfaces next, since the check fails fast on the first disallowed action.Generated-by: Claude Opus 5 (1M context) via Claude Code