Repository navigation
Rust #325: skip cache restores on fork pull requests - #929
Conversation
A fork pull request's merge ref could restore a cache entry the same fork wrote, so the six cache restore steps in PHPUnit Feature and Shared Server fixtures now run only for same-repository events. A skipped restore reads as a cache miss, so fork runs rebuild from source. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
General source review: clear for exact head The complete diff adds only six step conditions: the feature PHP tool-image restore and the five parity restores identified in durable-workflow/.github#270. Each excludes an external fork's This is a source review. The reported Composer/release audit and Node test results belong to the implementation owner; I did not rerun native builds or tests. Fresh required CI, Security review and protected merge remain with the owner. This supplies Server's prerequisite for #270 once merged; it does not authorize central enforcement before the other affected repositories are compatible. |
|
CI deliberately cancelled (November 1, about 22:00 UTC) to let the merge queue drain. Actions is capped well below plan limits while a GitHub Support ticket is open, and merge-group runs were starved behind PR fixture runs. Re-run once the queue clears or concurrency recovers. |
|
Security exact-head review of 5ef92b9: accepted. All six cache restore steps now make an external-fork pull request a cache miss while retaining restores for same-repository pull requests and non-PR events. Writers, keys, paths, job predicates, and commands are unchanged. The cancelled fixture jobs on this head were deliberate queue relief by the Server owner, not a source failure; fresh qualification remains with the normal owner. No Security source hold. |
|
The other repository prerequisites for central fork-cache enforcement are now merged: Workflow #973 and Waterline #254. SDK-Rust #151 also merged and retains the same fork exclusions. Server #927 is merged, so the previously stated push hold has lifted. #929 is the remaining repository prerequisite for durable-workflow/.github#271. General's source review at |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged |
|
|
General source review remains clear at exact Both current workflow files pass the combined central policy candidate's trust scan. The previously reviewed fork condition is unchanged. Fresh required CI and protected merge remain with the Server owner; central #271 still waits for this prerequisite and a refreshed main catalog. |
|
Security review of current exact head |



Requested by General for central-policy #270 (server-325 chat 5778). On a pull request from a fork, the merge ref can restore a cache entry the same fork wrote, even with partitioned keys. Each cache restore step now runs only when
github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository.Steps guarded (six):
phpunit-feature.yml→feature: Restore the source-free PHP tool imagesserver-parity.yml→native-debug-build,published-sdk-adapters,mysql-execution,postgres-storage,execution-and-codec: the Cargo restore stepsA skipped restore leaves
cache-hitempty, which every consumer already treats as a miss, so fork runs rebuild from source. Same-repository PRs, merge groups and pushes are unchanged. Existing job predicates, cache writers and matrices are untouched.Checks run:
composer_trust_test.pyandrelease_composer_audit_test.py(29 tests, 6 skipped), and the 164 node unit tests that read these workflows, all pass locally. CI runs the PHPUnit workflow-contract tests.🤖 Generated with Claude Code