Repository navigation
Conversation
…ef Checks Into Helpers (#3498) ## Summary Each of the four shapes #3459 names in `scripts/pr_review.py` now has one primitive, and every site uses it: - **Refusals.** `not_written(status, why, code, *details)` prints a refusal that wrote nothing, with any detail lines after it. `scope_refusal(owner)` is the out-of-scope refusal that `comment_on_pr`, `attest`, `reply_to_thread`, and `run_wait` each wrote out. - **Subprocess calls.** `_run(argv, timeout, unrun, **options)` captures one command and returns a failure to start or finish as exit 1. `_git`, `_gh_run`, `head_carries`, `receipt_reading`, and `origin_owner` call it. `_git`, `_gh_run`, and `head_carries` stay as thin wrappers, since tests patch them. `origin_owner` keeps its broad `except` for a decode error. - **Write confirmation.** `mutated(data, *path)` walks a mutation's response. `unconfirmed(status, why, response, code)` reports a response that did not confirm the write. They are used in `comment_on_pr`, both steps of `answer_thread`, and `request_copilot_review`'s response walk. - **Ref checks.** `safe_ref(ref)` is the REST-path ref check, used by `required_contexts`, `attest`, `await_registered_head`, and `pr_cleanup.branch_rules`. ## Verification Every printed line and exit code is unchanged: - I wrapped each touched function, plus `main` and `pr_cleanup.branch_rules`, and recorded its return value and stdout keyed by test id. I ran the full `test_pr_review` and `test_pr_cleanup` suites before and after the change, 1132 records each. After normalizing commit SHAs and temp paths, the records match. The one difference is a frozenset's repr order, which comes from string hash randomization. - The suite never makes `_git`, `_gh_run`, `receipt_reading`, or `origin_owner` fail to start. So I stubbed `subprocess.run` to raise `FileNotFoundError`, `TimeoutExpired`, and `UnicodeDecodeError`, and ran each of those four plus `head_carries` against both versions. All 15 results are identical. - The full suite (`python -m unittest discover -s tests`) passes: 2965 tests, 7 skipped. ruff and mypy are clean. Two local strict-review passes ran at the `frontier` tier. The first found one missed mutation walk and one stale comment, and 7e63bc0 fixes both. The second found nothing in this change. This PR carries the `comments` label for the one comment line it rewrites, in `origin_owner`. ## Dropped findings - `scripts/pr_review.py`, `answer_thread`: the REPLY_NOT_CONFIRMED text says "Read the response above", but the response prints below it. This is wording on text this change did not touch, and this change keeps the string byte-identical by contract (`style`). Refs #3459 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
🟢 Approval recommended
No unresolved review findings were identified, and all reviewed files are covered by the completed refactor.
No open issues 🎉
What changed in this PR
Promotes shared helper refactoring from develop to main across the pull-request review and cleanup tooling while preserving existing output and exit-code behavior.
Changes:
- Centralizes mutation, refusal, subprocess, write-confirmation, and safe-reference helpers.
- Migrates affected
pr_review.pyworkflows to the shared helpers. - Reuses
pr_review.safe_reffor branch validation inpr_cleanup.py.
| File | Summary |
|---|---|
scripts/pr_review.py |
Adds and applies shared helpers across review, attestation, reply, wait, mutation, subprocess, and reference-validation paths. |
scripts/pr_cleanup.py |
Uses pr_review.safe_ref for branch-rule validation. |
Review effort: Lite
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3499 +/- ##
==========================================
+ Coverage 81.07% 81.10% +0.03%
==========================================
Files 26 26
Lines 8928 8907 -21
==========================================
- Hits 7238 7224 -14
+ Misses 1690 1683 -7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Bumps the actions-deps group with 3 updates in the / directory: [docker/login-action](https://github.com/docker/login-action), [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) and [actions/setup-python](https://github.com/actions/setup-python). Bumps the actions-deps group with 1 update in the /.github/actions/prose-gate directory: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv). Bumps the actions-deps group with 1 update in the /.github/actions/pypi-build-default directory: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv). Bumps the actions-deps group with 1 update in the /.github/actions/validate directory: [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv). Updates `docker/login-action` from 4.6.0 to 4.7.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/docker/login-action/releases">docker/login-action's releases</a>.</em></p> <blockquote> <h2>v4.7.0</h2> <ul> <li>Preserve explicit ECR settings in <code>registry-auth</code> by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1089">docker/login-action#1089</a></li> <li>Use registry hosts for scoped credentials by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1088">docker/login-action#1088</a></li> <li>Raise Docker Hub OIDC max expiry to 6 hours by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1068">docker/login-action#1068</a></li> <li>Log Docker Hub OIDC token exchange progress by <a href="https://github.com/crazy-max"><code>@crazy-max</code></a> in <a href="https://redirect.github.com/docker/login-action/pull/1061">docker/login-action#1061</a></li> <li>Bump <code>@aws-sdk/client-ecr</code> and <code>@aws-sdk/client-ecr-public</code> to 3.1154.0 in <a href="https://redirect.github.com/docker/login-action/pull/1093">docker/login-action#1093</a></li> <li>Bump <code>@docker/actions-toolkit</code> from 0.94.0 to 0.107.0 in <a href="https://redirect.github.com/docker/login-action/pull/1100">docker/login-action#1100</a></li> <li>Bump <code>@humanfs/node</code> from 0.16.7 to 0.16.8 in <a href="https://redirect.github.com/docker/login-action/pull/1077">docker/login-action#1077</a></li> <li>Bump csv-parse from 7.0.1 to 7.0.3 in <a href="https://redirect.github.com/docker/login-action/pull/1078">docker/login-action#1078</a></li> <li>Bump handlebars from 4.7.9 to 4.7.10 in <a href="https://redirect.github.com/docker/login-action/pull/1091">docker/login-action#1091</a></li> <li>Bump js-yaml from 5.2.2 to 5.5.0 in <a href="https://redirect.github.com/docker/login-action/pull/1066">docker/login-action#1066</a></li> <li>Bump postcss from 8.5.22 to 8.5.26 in <a href="https://redirect.github.com/docker/login-action/pull/1071">docker/login-action#1071</a></li> <li>Bump postcss-selector-parser from 7.1.1 to 7.1.6 in <a href="https://redirect.github.com/docker/login-action/pull/1092">docker/login-action#1092</a></li> <li>Bump source-map-js from 1.2.1 to 1.2.2 in <a href="https://redirect.github.com/docker/login-action/pull/1090">docker/login-action#1090</a></li> <li>Bump undici from 6.27.0 to 6.29.1 in <a href="https://redirect.github.com/docker/login-action/pull/1085">docker/login-action#1085</a></li> <li>Bump uuid from 14.0.1 to 14.0.3 in <a href="https://redirect.github.com/docker/login-action/pull/1096">docker/login-action#1096</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/login-action/compare/v4.6.0...v4.7.0">https://github.com/docker/login-action/compare/v4.6.0...v4.7.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/docker/login-action/commit/81c6f93d4bc991e510b342a00b419b3bb4efc5c6"><code>81c6f93</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1100">#1100</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li> <li><a href="https://github.com/docker/login-action/commit/1b16c8d1815e1d951d87a3522ff48a76d073735a"><code>1b16c8d</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1096">#1096</a> from docker/dependabot/npm_and_yarn/uuid-14.0.3</li> <li><a href="https://github.com/docker/login-action/commit/ac86b5e9e9d2db43b12b2d3afb9140a427d69d65"><code>ac86b5e</code></a> [dependabot skip] chore: update generated content</li> <li><a href="https://github.com/docker/login-action/commit/1476d845f08dd8309a938959a280f2e23c0cba14"><code>1476d84</code></a> build(deps): bump <code>@docker/actions-toolkit</code> from 0.94.0 to 0.107.0</li> <li><a href="https://github.com/docker/login-action/commit/503cee68d85e94275776fcc6f5315f19207f7567"><code>503cee6</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1095">#1095</a> from docker/dependabot/github_actions/actions/create...</li> <li><a href="https://github.com/docker/login-action/commit/f0935357f5c539aeb7ff6b886ba5434ab76e9de3"><code>f093535</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1099">#1099</a> from docker/dependabot/github_actions/codecov/codeco...</li> <li><a href="https://github.com/docker/login-action/commit/d5ae7f188776587b12b77b45e29ea21332462da9"><code>d5ae7f1</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1098">#1098</a> from docker/dependabot/github_actions/docker/bake-ac...</li> <li><a href="https://github.com/docker/login-action/commit/6f9750797f6e7186f18c069a7e97abc1dcf1006b"><code>6f97507</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1097">#1097</a> from docker/dependabot/github_actions/docker/bake-ac...</li> <li><a href="https://github.com/docker/login-action/commit/006d61fa598847d65f6670d1569545fa2af9cf02"><code>006d61f</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1094">#1094</a> from docker/dependabot/github_actions/codeql-actions...</li> <li><a href="https://github.com/docker/login-action/commit/93f5f522eea5eacabf35cc89b9d19ec23e742471"><code>93f5f52</code></a> Merge pull request <a href="https://redirect.github.com/docker/login-action/issues/1093">#1093</a> from docker/dependabot/npm_and_yarn/aws-sdk-dependen...</li> <li>Additional commits viewable in <a href="https://github.com/docker/login-action/compare/dbcb813823bdd20940b903addbd779551569679f...81c6f93d4bc991e510b342a00b419b3bb4efc5c6">compare view</a></li> </ul> </details> <br /> Updates `astral-sh/setup-uv` from 10.3.0 to 10.3.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's releases</a>.</em></p> <blockquote> <h2>v10.3.2 🌈 update known checksums for 0.13.5</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.5 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: update version references to v10.3.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> </ul> <h2>v10.3.1 🌈 preserve cache error class names in save-cache bundle</h2> <h2>Changes</h2> <p>This release includes a fix so that multiple concurrent workflows trying to upload the same cache no longer warn</p> <p><code>##[warning]Failed to save: Unable to reserve cache with key ..., another job may be creating this cache.</code></p> <h2>🐛 Bug fixes</h2> <ul> <li>fix: preserve cache error class names in save-cache bundle <a href="https://github.com/dannyward630"><code>@dannyward630</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.4 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li>chore: update known checksums for 0.13.2/0.13.3 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li>chore: update known checksums for 0.13.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li>Verify npm dependency signatures before builds <a href="https://github.com/zaniebot"><code>@zaniebot</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: cache-dependency-glob matches relative to the working directory <a href="https://github.com/flange-ipb"><code>@flange-ipb</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li>docs: update version references to v10.3.0 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> </ul> <h2>⬆️ Dependency updates</h2> <ul> <li>chore(deps): roll up Dependabot updates <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/setup-uv/commit/07a047e608db84b3d8c06cd9a7c7dcc9c355c18e"><code>07a047e</code></a> chore: update known checksums for 0.13.5 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/e1b85369e72750369c935b004eccf97311bdf5dc"><code>e1b8536</code></a> docs: update version references to v10.3.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/18d369b23da25a81e9458561248e1aafff6a70fa"><code>18d369b</code></a> chore(deps): roll up Dependabot updates (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4ad2329c1e377d882fcae221cd1d17e7c0ad788e"><code>4ad2329</code></a> chore: update known checksums for 0.13.4 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4bc6759c82322ff7efa28de54a45404ca6869912"><code>4bc6759</code></a> chore: update known checksums for 0.13.2/0.13.3 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/c97f06e356bcca1b426f396ef93ec35ce149ce7b"><code>c97f06e</code></a> fix: preserve cache error class names in save-cache bundle (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/8ca4be000bfa5f8e6aaa01d8470878c90aa728d3"><code>8ca4be0</code></a> chore: update known checksums for 0.13.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/b627d85691ead579b598a36169571b1c7123526f"><code>b627d85</code></a> docs: cache-dependency-glob matches relative to the working directory (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f8c88970fcd8fff8e97bc62edc5f5c073a0527fe"><code>f8c8897</code></a> Verify npm dependency signatures before builds (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f64d32b1cd6cc11405a74665b3dfb7bb86fea9f0"><code>f64d32b</code></a> docs: update version references to v10.3.0 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> <li>See full diff in <a href="https://github.com/astral-sh/setup-uv/compare/1c37ad07a6a961277cf70c0d37d6f313000f5884...07a047e608db84b3d8c06cd9a7c7dcc9c355c18e">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-python` from 7.0.0 to 7.1.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p> <blockquote> <h2>v7.1.0</h2> <h2>What's Changed</h2> <h3>Enhancements</h3> <ul> <li>Add <code>mirror</code> and <code>mirror-token</code> inputs for custom Python distribution sources by <a href="https://github.com/luhenry"><code>@luhenry</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1302">actions/setup-python#1302</a></li> <li>Improve error message clarity by <a href="https://github.com/v-lmvysakh"><code>@v-lmvysakh</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1351">actions/setup-python#1351</a></li> </ul> <h3>Dependency Upgrade</h3> <ul> <li>Upgrade browserslist from 4.28.2 to 4.28.9 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1353">actions/setup-python#1353</a></li> <li>Upgrade <code>@typescript-eslint/parser</code> from 8.62.0 to 8.70.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1343">actions/setup-python#1343</a></li> <li>Upgrade eslint-plugin-jest from 29.15.2 to 29.16.6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1342">actions/setup-python#1342</a></li> <li>Upgrade <code>@vercel/ncc</code> from 0.44.0 to 0.45.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1357">actions/setup-python#1357</a></li> <li>Upgrade <code>@types/semver</code> from 7.7.1 to 7.8.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1359">actions/setup-python#1359</a></li> <li>Upgrade undici from 6.28.0 to 6.29.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1364">actions/setup-python#1364</a></li> <li>Upgrade ts-jest from 29.4.11 to 29.4.14 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1361">actions/setup-python#1361</a></li> <li>Upgrade brace-expansion from 5.0.9 to 5.0.12 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1365">actions/setup-python#1365</a></li> <li>Upgrade prettier from 3.8.4 to 3.9.9 and package.json from 7.0.0 to 7.1.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1363">actions/setup-python#1363</a></li> <li>Upgrade <code>@typescript-eslint/eslint-plugin</code> from 8.62.0 to 8.71.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1369">actions/setup-python#1369</a></li> <li>Upgrade actions/checkout from 7.0.0 to 7.0.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1345">actions/setup-python#1345</a></li> <li>Upgrade cache to 6.3.0 by <a href="https://github.com/v-HarithaVattikuti"><code>@v-HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1370">actions/setup-python#1370</a></li> <li>Resolve Basic Validation audit failures by <a href="https://github.com/v-HarithaVattikuti"><code>@v-HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1347">actions/setup-python#1347</a></li> <li>Resolve npm audit failures by <a href="https://github.com/v-HarithaVattikuti"><code>@v-HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1350">actions/setup-python#1350</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/luhenry"><code>@luhenry</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1302">actions/setup-python#1302</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v7.0.0...v7.1.0">https://github.com/actions/setup-python/compare/v7.0.0...v7.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-python/commit/6d4fd22b20465ccc0f7354476588e8df7c9ca0e0"><code>6d4fd22</code></a> Cache upgrade to 6.3.0 (<a href="https://redirect.github.com/actions/setup-python/issues/1370">#1370</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/ec52d0af729a7c50ced4261d17a07916f43f5b8e"><code>ec52d0a</code></a> Bump <code>@typescript-eslint/eslint-plugin</code> from 8.62.0 to 8.71.1 (<a href="https://redirect.github.com/actions/setup-python/issues/1369">#1369</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/ff73b2463e2f3baa703f830da214b8dfeeaeccf8"><code>ff73b24</code></a> Bump prettier from 3.8.4 to 3.9.9 and package.json from 7.0.0 to 7.1.0 (<a href="https://redirect.github.com/actions/setup-python/issues/1363">#1363</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/0e40890053525508c059c61932a6b8614f9e95db"><code>0e40890</code></a> Bump brace-expansion from 5.0.9 to 5.0.12 (<a href="https://redirect.github.com/actions/setup-python/issues/1365">#1365</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/3892123fbe74688ccc83ec7c465dc688359e5199"><code>3892123</code></a> Bump ts-jest from 29.4.11 to 29.4.14 (<a href="https://redirect.github.com/actions/setup-python/issues/1361">#1361</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/660965736c4aecc62797ea07d351a3c259f14660"><code>6609657</code></a> Bump undici from 6.28.0 to 6.29.0 (<a href="https://redirect.github.com/actions/setup-python/issues/1364">#1364</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/e1be392b26fb1917a7b2c455817e4b4dad6544ce"><code>e1be392</code></a> Bump <code>@types/semver</code> from 7.7.1 to 7.8.0 (<a href="https://redirect.github.com/actions/setup-python/issues/1359">#1359</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/06da6279cdbca41027908073e81a4544dc79c06b"><code>06da627</code></a> Bump <code>@vercel/ncc</code> from 0.44.0 to 0.45.0 (<a href="https://redirect.github.com/actions/setup-python/issues/1357">#1357</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/af9bcc7548695e66d75709de6f29e337624b8de8"><code>af9bcc7</code></a> Bump eslint-plugin-jest from 29.15.2 to 29.16.6 (<a href="https://redirect.github.com/actions/setup-python/issues/1342">#1342</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/7aeabeba5501120d873c50398519dbfd0657031c"><code>7aeabeb</code></a> Bump <code>@typescript-eslint/parser</code> from 8.62.0 to 8.70.0 (<a href="https://redirect.github.com/actions/setup-python/issues/1343">#1343</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-python/compare/5fda3b95a4ea91299a34e894583c3862153e4b97...6d4fd22b20465ccc0f7354476588e8df7c9ca0e0">compare view</a></li> </ul> </details> <br /> Updates `astral-sh/setup-uv` from 10.3.0 to 10.3.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's releases</a>.</em></p> <blockquote> <h2>v10.3.2 🌈 update known checksums for 0.13.5</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.5 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: update version references to v10.3.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> </ul> <h2>v10.3.1 🌈 preserve cache error class names in save-cache bundle</h2> <h2>Changes</h2> <p>This release includes a fix so that multiple concurrent workflows trying to upload the same cache no longer warn</p> <p><code>##[warning]Failed to save: Unable to reserve cache with key ..., another job may be creating this cache.</code></p> <h2>🐛 Bug fixes</h2> <ul> <li>fix: preserve cache error class names in save-cache bundle <a href="https://github.com/dannyward630"><code>@dannyward630</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.4 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li>chore: update known checksums for 0.13.2/0.13.3 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li>chore: update known checksums for 0.13.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li>Verify npm dependency signatures before builds <a href="https://github.com/zaniebot"><code>@zaniebot</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: cache-dependency-glob matches relative to the working directory <a href="https://github.com/flange-ipb"><code>@flange-ipb</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li>docs: update version references to v10.3.0 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> </ul> <h2>⬆️ Dependency updates</h2> <ul> <li>chore(deps): roll up Dependabot updates <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/setup-uv/commit/07a047e608db84b3d8c06cd9a7c7dcc9c355c18e"><code>07a047e</code></a> chore: update known checksums for 0.13.5 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/e1b85369e72750369c935b004eccf97311bdf5dc"><code>e1b8536</code></a> docs: update version references to v10.3.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/18d369b23da25a81e9458561248e1aafff6a70fa"><code>18d369b</code></a> chore(deps): roll up Dependabot updates (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4ad2329c1e377d882fcae221cd1d17e7c0ad788e"><code>4ad2329</code></a> chore: update known checksums for 0.13.4 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4bc6759c82322ff7efa28de54a45404ca6869912"><code>4bc6759</code></a> chore: update known checksums for 0.13.2/0.13.3 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/c97f06e356bcca1b426f396ef93ec35ce149ce7b"><code>c97f06e</code></a> fix: preserve cache error class names in save-cache bundle (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/8ca4be000bfa5f8e6aaa01d8470878c90aa728d3"><code>8ca4be0</code></a> chore: update known checksums for 0.13.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/b627d85691ead579b598a36169571b1c7123526f"><code>b627d85</code></a> docs: cache-dependency-glob matches relative to the working directory (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f8c88970fcd8fff8e97bc62edc5f5c073a0527fe"><code>f8c8897</code></a> Verify npm dependency signatures before builds (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f64d32b1cd6cc11405a74665b3dfb7bb86fea9f0"><code>f64d32b</code></a> docs: update version references to v10.3.0 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> <li>See full diff in <a href="https://github.com/astral-sh/setup-uv/compare/1c37ad07a6a961277cf70c0d37d6f313000f5884...07a047e608db84b3d8c06cd9a7c7dcc9c355c18e">compare view</a></li> </ul> </details> <br /> Updates `astral-sh/setup-uv` from 10.3.0 to 10.3.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's releases</a>.</em></p> <blockquote> <h2>v10.3.2 🌈 update known checksums for 0.13.5</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.5 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: update version references to v10.3.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> </ul> <h2>v10.3.1 🌈 preserve cache error class names in save-cache bundle</h2> <h2>Changes</h2> <p>This release includes a fix so that multiple concurrent workflows trying to upload the same cache no longer warn</p> <p><code>##[warning]Failed to save: Unable to reserve cache with key ..., another job may be creating this cache.</code></p> <h2>🐛 Bug fixes</h2> <ul> <li>fix: preserve cache error class names in save-cache bundle <a href="https://github.com/dannyward630"><code>@dannyward630</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.4 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li>chore: update known checksums for 0.13.2/0.13.3 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li>chore: update known checksums for 0.13.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li>Verify npm dependency signatures before builds <a href="https://github.com/zaniebot"><code>@zaniebot</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: cache-dependency-glob matches relative to the working directory <a href="https://github.com/flange-ipb"><code>@flange-ipb</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li>docs: update version references to v10.3.0 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> </ul> <h2>⬆️ Dependency updates</h2> <ul> <li>chore(deps): roll up Dependabot updates <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/setup-uv/commit/07a047e608db84b3d8c06cd9a7c7dcc9c355c18e"><code>07a047e</code></a> chore: update known checksums for 0.13.5 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/e1b85369e72750369c935b004eccf97311bdf5dc"><code>e1b8536</code></a> docs: update version references to v10.3.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/18d369b23da25a81e9458561248e1aafff6a70fa"><code>18d369b</code></a> chore(deps): roll up Dependabot updates (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4ad2329c1e377d882fcae221cd1d17e7c0ad788e"><code>4ad2329</code></a> chore: update known checksums for 0.13.4 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4bc6759c82322ff7efa28de54a45404ca6869912"><code>4bc6759</code></a> chore: update known checksums for 0.13.2/0.13.3 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/c97f06e356bcca1b426f396ef93ec35ce149ce7b"><code>c97f06e</code></a> fix: preserve cache error class names in save-cache bundle (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/8ca4be000bfa5f8e6aaa01d8470878c90aa728d3"><code>8ca4be0</code></a> chore: update known checksums for 0.13.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/b627d85691ead579b598a36169571b1c7123526f"><code>b627d85</code></a> docs: cache-dependency-glob matches relative to the working directory (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f8c88970fcd8fff8e97bc62edc5f5c073a0527fe"><code>f8c8897</code></a> Verify npm dependency signatures before builds (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f64d32b1cd6cc11405a74665b3dfb7bb86fea9f0"><code>f64d32b</code></a> docs: update version references to v10.3.0 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> <li>See full diff in <a href="https://github.com/astral-sh/setup-uv/compare/1c37ad07a6a961277cf70c0d37d6f313000f5884...07a047e608db84b3d8c06cd9a7c7dcc9c355c18e">compare view</a></li> </ul> </details> <br /> Updates `astral-sh/setup-uv` from 10.3.0 to 10.3.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's releases</a>.</em></p> <blockquote> <h2>v10.3.2 🌈 update known checksums for 0.13.5</h2> <h2>Changes</h2> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.5 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: update version references to v10.3.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> </ul> <h2>v10.3.1 🌈 preserve cache error class names in save-cache bundle</h2> <h2>Changes</h2> <p>This release includes a fix so that multiple concurrent workflows trying to upload the same cache no longer warn</p> <p><code>##[warning]Failed to save: Unable to reserve cache with key ..., another job may be creating this cache.</code></p> <h2>🐛 Bug fixes</h2> <ul> <li>fix: preserve cache error class names in save-cache bundle <a href="https://github.com/dannyward630"><code>@dannyward630</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>chore: update known checksums for 0.13.4 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li>chore: update known checksums for 0.13.2/0.13.3 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li>chore: update known checksums for 0.13.1 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li>Verify npm dependency signatures before builds <a href="https://github.com/zaniebot"><code>@zaniebot</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> </ul> <h2>📚 Documentation</h2> <ul> <li>docs: cache-dependency-glob matches relative to the working directory <a href="https://github.com/flange-ipb"><code>@flange-ipb</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li>docs: update version references to v10.3.0 @<a href="https://github.com/apps/github-actions">github-actions[bot]</a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> </ul> <h2>⬆️ Dependency updates</h2> <ul> <li>chore(deps): roll up Dependabot updates <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/setup-uv/commit/07a047e608db84b3d8c06cd9a7c7dcc9c355c18e"><code>07a047e</code></a> chore: update known checksums for 0.13.5 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1103">#1103</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/e1b85369e72750369c935b004eccf97311bdf5dc"><code>e1b8536</code></a> docs: update version references to v10.3.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1102">#1102</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/18d369b23da25a81e9458561248e1aafff6a70fa"><code>18d369b</code></a> chore(deps): roll up Dependabot updates (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1101">#1101</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4ad2329c1e377d882fcae221cd1d17e7c0ad788e"><code>4ad2329</code></a> chore: update known checksums for 0.13.4 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1099">#1099</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/4bc6759c82322ff7efa28de54a45404ca6869912"><code>4bc6759</code></a> chore: update known checksums for 0.13.2/0.13.3 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1098">#1098</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/c97f06e356bcca1b426f396ef93ec35ce149ce7b"><code>c97f06e</code></a> fix: preserve cache error class names in save-cache bundle (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1093">#1093</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/8ca4be000bfa5f8e6aaa01d8470878c90aa728d3"><code>8ca4be0</code></a> chore: update known checksums for 0.13.1 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1094">#1094</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/b627d85691ead579b598a36169571b1c7123526f"><code>b627d85</code></a> docs: cache-dependency-glob matches relative to the working directory (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1092">#1092</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f8c88970fcd8fff8e97bc62edc5f5c073a0527fe"><code>f8c8897</code></a> Verify npm dependency signatures before builds (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1027">#1027</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/f64d32b1cd6cc11405a74665b3dfb7bb86fea9f0"><code>f64d32b</code></a> docs: update version references to v10.3.0 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/1090">#1090</a>)</li> <li>See full diff in <a href="https://github.com/astral-sh/setup-uv/compare/1c37ad07a6a961277cf70c0d37d6f313000f5884...07a047e608db84b3d8c06cd9a7c7dcc9c355c18e">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Summary
Promotes the pull requests merged into develop since release 2.0.1192.
scripts/pr_review.py's repeated refusal, subprocess, write-confirmation, and ref-check shapes each get one primitive,not_writtenandscope_refusal,_run,mutatedandunconfirmed, andsafe_ref, and every site moves onto them,pr_cleanup.branch_rulesincluded. Every printed line and exit code is unchanged, which a before-and-after recording of each touched function over thepr_reviewandpr_cleanupsuites shows, along with a probe of each subprocess wrapper's start-failure paths.actions-depsgroup bumpsdocker/login-actionfrom 4.6.0 to 4.7.0, plusastral-sh/setup-uvandactions/setup-python, across the workflows and composite actions that pin them.Closes #3459
Constituent coverage
Each change this promotion carries had coverage on its own pull request into develop:
7e63bc09develop, and a Copilot table on the merged head naming exactly its 2 changed files, no open findings79f11c72ptr727-codegenapp, with no local pass or Copilot round on its own pull request, so this promotion's own Copilot round covers it🤖 Generated with Claude Code