-
Notifications
You must be signed in to change notification settings - Fork 1
fix(containers): bind provenance to pinned bases #1203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 28 commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
1a43b34
fix(containers): bind provenance to pinned bases
seonghobae 0d17e7f
ci: materialize PR 1203 governance test fix
seonghobae 982fb32
ci: trigger PR 1203 governance fix from review state
seonghobae 991c760
test(governance): align Strix cryptography security pin
github-actions[bot] 636eac1
ci: revalidate container provenance on current head
seonghobae c700e18
docs(containers): define pinned provenance contract
seonghobae e2a5eb1
Merge branch 'develop' into codex/docker-base-current
opencode-agent[bot] c547b73
ci: materialize container provenance review fixes
seonghobae 7077d23
ci: add bounded PR 1203 provenance repair
seonghobae 3e5703c
ci: correct PR 1203 provenance finalizer
seonghobae f7a69f4
ci: sanitize PR 1203 generated regex literal
seonghobae b5baad6
ci: anchor PR 1203 changelog insertion at first heading
seonghobae 0f03861
ci: rebind PR 1203 finalizer to corrected helper
seonghobae acf66d0
ci: use the canonical backend test lock for PR 1203
seonghobae bd3cceb
test(container): lock provenance dependency floors
seonghobae 21949d6
docs(container): ground provenance contract in current standards
seonghobae f34139d
ci(container): remove completed PR finalizer
seonghobae 23ac637
ci(container): remove completed repair script
seonghobae cd1cfd8
test(container): bind dependency pins to generated locks
seonghobae a45eba2
ci: run verified PR 1203 provenance finalizer
seonghobae 37a166f
chore(ci): remove PR-specific provenance finalizer
seonghobae 35b6780
Merge branch 'develop' into codex/docker-base-current
opencode-agent[bot] b1eda1f
test(container): parse dependency pin evidence structurally
seonghobae d16e41d
docs(container): align provenance and dependency contracts
seonghobae f2c63f7
fix(container): require derived OCI base metadata
seonghobae 92e7692
Merge branch 'develop' into codex/docker-base-current
opencode-agent[bot] 197bce1
fix(container): require frontend OCI base metadata
seonghobae 7758740
ci: verify and remove PR 1203 temporary machinery
seonghobae 8cd0471
Merge branch 'develop' into codex/docker-base-current
opencode-agent[bot] 70fae9c
chore(ci): remove completed PR 1203 cleanup workflow
seonghobae 9faaa7d
fix(containers): synchronize OCI base defaults
seonghobae 869ce40
fix(containers): synchronize frontend OCI base defaults
seonghobae b694980
Merge branch 'develop' into codex/docker-base-current
opencode-agent[bot] cb3946c
Merge branch 'develop' into codex/docker-base-current
opencode-agent[bot] a6cce6f
Consolidate current container pins with provenance contract
seonghobae File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
102 changes: 102 additions & 0 deletions
102
.github/workflows/cleanup-pr1203-provenance-finalizer.yml
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,102 @@ | ||
| name: Cleanup PR 1203 provenance machinery | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - codex/docker-base-current | ||
| paths: | ||
| - .github/workflows/cleanup-pr1203-provenance-finalizer.yml | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| concurrency: | ||
| group: cleanup-pr1203-provenance-finalizer | ||
| cancel-in-progress: false | ||
|
|
||
| env: | ||
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | ||
| PYTHONWARNINGS: error | ||
|
|
||
| jobs: | ||
| verify-and-clean: | ||
| if: github.actor != 'github-actions[bot]' | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 45 | ||
| steps: | ||
| - name: Harden runner | ||
| uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0 | ||
| with: | ||
| egress-policy: audit | ||
|
|
||
| - name: Check out exact trigger | ||
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||
| with: | ||
| ref: ${{ github.sha }} | ||
| fetch-depth: 2 | ||
| persist-credentials: false | ||
|
|
||
| - name: Remove temporary machinery before verification | ||
| env: | ||
| EXPECTED_SHA: ${{ github.sha }} | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| test "$(git rev-parse HEAD)" = "$EXPECTED_SHA" | ||
| rm -f \ | ||
| .github/workflows/pr1203-finalize.yml \ | ||
| scripts/ci/repair_pr_1203_provenance.py \ | ||
| .github/workflows/cleanup-pr1203-provenance-finalizer.yml | ||
| git diff --check | ||
|
|
||
| - name: Set up Python | ||
| uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 | ||
| with: | ||
| python-version: '3.14' | ||
| cache: pip | ||
| cache-dependency-path: backend/requirements-hashes.txt | ||
|
|
||
| - name: Install hash-locked backend dependencies | ||
| run: python -m pip install --disable-pip-version-check --require-hashes -r backend/requirements-hashes.txt | ||
|
|
||
| - name: Verify provenance and repository governance | ||
| working-directory: backend | ||
| run: | | ||
| python -m pytest -q \ | ||
| tests/test_container_provenance_contract.py \ | ||
| tests/test_release_governance.py \ | ||
| tests/test_repo_hygiene.py | ||
| python -m ruff check \ | ||
| tests/test_container_provenance_contract.py \ | ||
| tests/test_release_governance.py \ | ||
| tests/test_repo_hygiene.py | ||
|
|
||
| - name: Validate workflows and final diff | ||
| run: | | ||
| python - <<'PY' | ||
| from pathlib import Path | ||
| import yaml | ||
|
|
||
| for path in ( | ||
| Path('.github/workflows/docker-publish.yml'), | ||
| ): | ||
| yaml.safe_load(path.read_text(encoding='utf-8')) | ||
| PY | ||
| test ! -e .github/workflows/pr1203-finalize.yml | ||
| test ! -e scripts/ci/repair_pr_1203_provenance.py | ||
| test ! -e .github/workflows/cleanup-pr1203-provenance-finalizer.yml | ||
| git diff --check | ||
|
|
||
| - name: Publish verified cleanup | ||
| env: | ||
| PUSH_TOKEN: ${{ github.token }} | ||
| shell: bash --noprofile --norc -e -o pipefail {0} | ||
| run: | | ||
| git config user.name 'github-actions[bot]' | ||
| git config user.email '41898282+github-actions[bot]@users.noreply.github.com' | ||
| git add -A | ||
| git diff --cached --quiet && exit 1 | ||
| git commit -m 'chore(ci): remove completed PR 1203 machinery' | ||
| auth_header="$(printf 'x-access-token:%s' "$PUSH_TOKEN" | base64 | tr -d '\n')" | ||
| echo "::add-mask::$auth_header" | ||
| git -c http.extraheader="AUTHORIZATION: basic ${auth_header}" \ | ||
| push origin 'HEAD:codex/docker-base-current' | ||
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.