Skip to content

fix(ci): accept rotated pinned checkout digests - #1799

Open
mldangelo-oai wants to merge 1 commit into
mainfrom
fix/release-checkout-digest-rotation
Open

fix(ci): accept rotated pinned checkout digests#1799
mldangelo-oai wants to merge 1 commit into
mainfrom
fix/release-checkout-digest-rotation

Conversation

@mldangelo-oai

Copy link
Copy Markdown
Contributor

Summary

  • Allow the release-provenance recovery regression test to accept rotated actions/checkout commit digests while still requiring an immutable, lowercase 40-character SHA pin.
  • Add regression coverage for both the current pin and the exact replacement digest from blocked Renovate PR chore(deps): update actions/checkout digest to d23441a #1797.
  • Preserve the existing tagged-release ref, sparse checkout, and disabled persisted-credentials assertions.

Validation

  • PYTHONPATH=$PWD:$PWD/packages/modelaudit-picklescan/src PROMPTFOO_DISABLE_TELEMETRY=1 /Users/mdangelo/code/modelaudit/.venv/bin/python -m pytest tests/test_release_workflow.py -q --tb=short133 passed.
  • PYTHONPATH=$PWD:$PWD/packages/modelaudit-picklescan/src PROMPTFOO_DISABLE_TELEMETRY=1 /Users/mdangelo/code/modelaudit/.venv/bin/python -m pytest packages/modelaudit-picklescan/tests/test_call_graph_instance_defaults.py -q --tb=short4 passed, including the exact failing Nightly botocore case.
  • /Users/mdangelo/code/modelaudit/.venv/bin/ruff check modelaudit/ packages/modelaudit-picklescan/src packages/modelaudit-picklescan/tests tests/ — passed.
  • /Users/mdangelo/code/modelaudit/.venv/bin/ruff format --check modelaudit/ packages/modelaudit-picklescan/src packages/modelaudit-picklescan/tests tests/424 files already formatted.
  • PYTHONPATH=$PWD:$PWD/packages/modelaudit-picklescan/src /Users/mdangelo/code/modelaudit/.venv/bin/mypy tests/test_release_workflow.py — passed.
  • Full fast suite: 5,338 passed before three pre-existing local cache failures in unchanged cache/compressed-scanner files; rerunning the compressed-cache node independently reproduces the failure. Current main Python CI is green.
  • Full local mypy reproduces 14 existing errors in six unchanged files, matching the previous automation run; the changed release test passes scoped mypy.

CI context

Renovate PR #1797 currently fails all affected Python, Windows, and coverage lanes solely because the release test hard-codes the previous checkout digest. This change keeps the supply-chain pinning requirement and removes that false failure.

Copilot AI review requested due to automatic review settings August 1, 2026 22:09
@mldangelo-oai

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: 04e5822401

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the release-workflow regression test to tolerate actions/checkout digest rotations while still enforcing an immutable, lowercase 40-hex SHA pin for the provenance recovery checkout step, preventing Renovate digest bumps from breaking CI.

Changes:

  • Parameterizes the provenance recovery test to cover a rotated actions/checkout digest scenario.
  • Replaces an exact actions/checkout@<sha> equality assertion with a regex check that enforces a 40-character lowercase SHA pin.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +789 to +791
if updated_checkout_digest is not None:
checkout_step = {**checkout_step, "uses": f"actions/checkout@{updated_checkout_digest}"}
assert re.fullmatch(r"actions/checkout@[0-9a-f]{40}", checkout_step["uses"])
@chatgpt-codex-connector

Copy link
Copy Markdown

Security review completed. No security issues were found in this pull request.

Reviewed commit: 04e5822401

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants