Repository navigation
Conversation
The manual verification commands were weaker than the installer they sit next to. cosign verify-blob accepted any tag's signature through an '@refs/tags/v' regexp, gh attestation verify had no --source-ref, and the README's container check used an unanchored identity regexp that any workflow SAN containing 'github.com/Kernel-Guard/bpfcompat' satisfies. - Blob signatures use the exact identity release-artifacts.yml@refs/tags/$VER, as scripts/install.sh does. - gh attestation verify pins --signer-workflow and --source-ref "refs/tags/$VER" (README, verifying-releases, SBOM check). - The README container check uses the exact signer of the pinned 0.3.7 image (ghcr-image.yml@refs/tags/v0.3.7) and says that 0.3.5-0.3.7 images were signed by ghcr-image.yml, while 0.3.8-rc.2, 0.4.0-rc.4 and later release-workflow images are signed by release-artifacts.yml. README and quickstart pin @v0.3.7, so behaviour that ships only from v0.4.0-rc.4 (promotion evidence, SBOM signature, Action attestation verification) or v0.4.0-rc.5 (license bundle, relink kit, build record, Action validator pinning, command-mode kernel-release INFRA_ERROR, missing artifact paths never pulled) now carries that version. Also: the arm64 CLI in the asset table; BPFCOMPAT_DOC_DIR and /usr/libexec/bpfcompat in the installer notes; image tag example 0.3.7; "the validator's own C sources" for the relink kit; the pinned validator build, stable==RC validator and distribution-decision gates in the production support boundary. Signed-off-by: ErenAri <erenari27@gmail.com>
The artifact input description now says that a workspace path whose first directory contains '.' or ':' (for example .output/) must be prefixed with ./, or it is treated as a remote reference. The binary input description says that an executable at that path in the workspace is used instead of the verified prebuilt CLI. Both behaviours are unchanged and already documented in docs/compatibility-contract.md; only description strings change. Signed-off-by: ErenAri <erenari27@gmail.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…began Review follow-up for the tag-bound verification docs. - The gh attestation commands now need --source-ref, so the docs state the minimum: gh 2.68.0 (--signer-workflow arrived in 2.51.0, --source-ref in 2.68.0). An older gh stops with "unknown flag" without verifying anything; use cosign or upgrade. gh 2.97.0 and 2.102.0 fixed published advisories in how these values are matched, so 2.102.0 or later is recommended. - Promotion evidence, the SBOM signature and the Action's attestation check are published from v0.4.0-rc.2 and v0.3.8-rc.1 (not v0.3.7), not from v0.4.0-rc.4 as the qualifiers said. - The README lists every release-artifacts.yml-signed image (0.3.8-rc.1, 0.3.8-rc.2, 0.4.0-rc.2, 0.4.0-rc.3, 0.4.0-rc.4) and notes that the 0.3 and latest aliases carry the 0.3.7 signer while they point at 0.3.7. - BPFCOMPAT_DOC_DIR: the bundle goes to <BPFCOMPAT_DOC_DIR>/<tag>/. - The validator==RC and distribution-decision gates are stable-only. - Checksum checks use --ignore-missing where only some assets are downloaded; only bpfcompat-linux-amd64 carries an SBOM attestation. - action.yml: the artifact description also names a localhost first directory, as is_remote_artifact does. Signed-off-by: ErenAri <erenari27@gmail.com>
Review of 35d6ebe: the Action falls back to a source build when gh cannot verify attestations only in the v0.4.0 release candidates; the v0.3.8 candidates' Action fails the job instead. Also name the error an older gh prints before 2.49.0 (unknown command "attestation"). Signed-off-by: ErenAri <erenari27@gmail.com>
gh 2.47.0 and 2.48.0 already run the hidden attestation command, so they fail with unknown flag, like every gh before 2.68.0. Signed-off-by: ErenAri <erenari27@gmail.com>
This branch has not been deployed
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.
Draft. Merge only on an exact-head operator decision. Documentation only, plus
action.ymldescription strings. No behaviour change.Why
An independent documentation review against the shipped code found:
--certificate-identity-regexp github.com/Kernel-Guard/bpfcompat, which accepts any identity containing that substring.@refs/tags/vregexps, which accept any release's signature.gh attestation verifyexamples lacked--signer-workflow, and none had--source-ref.@v0.3.7. Some of it ships from v0.4.0-rc.2 and v0.3.8-rc.1, and some only from v0.4.0-rc.5.BPFCOMPAT_DOC_DIRand/usr/libexec/bpfcompat;artifact/binaryinput descriptions;bpfcompat-linux-arm64;Changes
5d444e7docs: bind manual verification commands to the exact release tag.--certificate-identity …/release-artifacts.yml@refs/tags/$VER.--signer-workflowand--source-ref "refs/tags/$VER", the flagsscripts/install.shuses.ghcr-image.yml@refs/tags/v0.3.7), and the README states the signer per release.ghcr-image.yml.release-artifacts.yml: 0.4.0-rc.2 (the first, 2026-07-29), 0.4.0-rc.3, 0.3.8-rc.1, 0.3.8-rc.2 and 0.4.0-rc.4.README.md,docs/{compatibility-contract,production-support-boundary,quickstart,supply-chain,verifying-releases}.md.b9f3aa1action: document the./prefix and workspace binary precedence in inputs. Description strings only. This makes the hosted compatibility gate required on the PR.35d6ebedocs: state the gh minimum and correct when RC verification features began. These are the review follow-ups:--signer-workflowsince 2.51.0,--source-refsince 2.68.0). An older gh stops without verifying; use cosign or upgrade. gh 2.97.0 and 2.102.0 fixed published advisories in how these values are matched, so 2.102.0 or later is recommended.release-artifacts.ymllist, and the0.3/latestaliases.BPFCOMPAT_DOC_DIR: the bundle goes to<BPFCOMPAT_DOC_DIR>/<tag>/.sha256sum -c --ignore-missingwhere only some assets are downloaded.bpfcompat-linux-amd64carries one.action.yml: theartifactdescription also names alocalhostfirst directory.6de1bb7docs: the v0.3.8 candidates' Action fails without attestation support. These are the second review's follow-ups:ghattestation support applies to the v0.4.0 release candidates. The v0.3.8 candidates' Action fails the job instead.unknown command "attestation", and before 2.68.0unknown flag. The boundary was first given as 2.49.0 and is corrected in a follow-up commit; gh 2.47 and 2.48 run the hiddenattestationcommand.Validation
make check-docs-drift,scripts/check-doc-pins.sh,make env-docs-check, the freeze check,make check-release-consistencyandgit diff --checkall pass.action-diff_test.sh. An earlier failure ofaction-diff_test.shin the author's checkout came from aTMPDIRpath containing.., not from the code.Not changed (follow-ups)
promote-release.yml(lines 179–190 and 222) still verifies with the@refs/tags/vregexp, andscripts/verify-release-assets.sh(used by the Action) has no--source-ref. Both are release tooling, not docs, and are recorded for a separate decision.--source-refis a code change, not part of this PR.--require-decidedand validator==RC gates indocs/production-release-process.md) is fixed in release: let the stable PR and tag build pass the stable canary-pin and doc-pin checks #266, still an open draft. Merging this PR alone leaves MD-3 open.5d444e7's message still names rc.4 as the onset (corrected in35d6ebe). It is left unamended so the reviewed heads stay valid.