Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/pr-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ on:

permissions:
contents: read
Comment on lines 25 to 26

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Skip attestations for read-only manual PR validation

When pr-validation.yml is started through its retained workflow_dispatch trigger, the reusable workflow still executes Generate OCI artifact attestations because its condition accepts every workflow_dispatch event (quality-gates.yml:764-766). This caller now grants only contents: read, so the attestation action cannot obtain the required identity-token and attestation permissions and the manual validation fails. Either exclude the pull-request context from that condition or route manual runs through a write-capable caller.

Useful? React with 👍 / 👎.

id-token: write
attestations: write

concurrency:
group: pr-validation-${{ github.event.pull_request.number || github.ref }}
Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/quality-gates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ on:
default: amd64
type: string

permissions:
contents: read
id-token: write
attestations: write

jobs:
repository-quality:
name: Repository quality gates (${{ inputs.context }})
Expand Down Expand Up @@ -169,8 +164,8 @@ jobs:
grep -Fq 'architecture_mode' .github/workflows/pr-validation.yml
grep -Fq 'BUILD_PLATFORMS' .github/workflows/quality-gates.yml
grep -Fq 'uses: actions/attest-build-provenance@v4' .github/workflows/quality-gates.yml
grep -Fq 'id-token: write' .github/workflows/quality-gates.yml
grep -Fq 'attestations: write' .github/workflows/quality-gates.yml
grep -Fq 'id-token: write' .github/workflows/commit-tests.yml
grep -Fq 'attestations: write' .github/workflows/commit-tests.yml
test -f src/dav/caldav/caldav-contract.mjs
test -f src/dav/caldav/caldav-contract.test.mjs
test -f src/dav/carddav/carddav-store.mjs
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ of production capacity or external service interoperability.
- [x] fast amd64-first CI with an explicit multiarch amd64+arm64 final gate;
- [x] tenant-bound DAV ETags and sync tokens;
- [x] OCI build-provenance attestations generated and verified;
- [x] pull-request validation delegates the identity-token and attestation permissions required by the provenance gate;
- [x] provenance permissions are granted only by push or manual callers, while pull-request validation remains read-only;
- [x] log rotation;
- [x] alerts;
- [x] Postfix queue visibility;
Expand Down