Repository navigation
ci: reuse verified native bundles automatically - #2186
markstuart-oai wants to merge 1 commit into
Conversation
|
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
| { encoding: 'utf8', maxBuffer: 64 * 1024 * 1024 }, | ||
| ); | ||
| return { ...verifyUpload(jobName, asset, log), run: run.id }; | ||
| } |
There was a problem hiding this comment.
[P2] Treat a concurrently replaced artifact as a cache miss. The artifact list is captured before the run and jobs are queried, while uploads now use a stable name with overwrite: true. If a producer rerun replaces the artifact and completes between those reads, the selected asset contains the previous artifact ID/digest but the latest successful job's log contains the replacement's values. verifyUpload then throws, failing the consuming SDK build rather than skipping this stale candidate or building from source. The previous attempt-specific artifact names did not have this replacement race. Recheck the artifact/attempt identity on a verification mismatch and retry or skip when it changed, while retaining hard failure for an integrity mismatch on an unchanged candidate.
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Requesting changes for the existing artifact replacement race: #2186 (comment) . Independently confirmed: discovery can retain the previous artifact ID while a successful rerun overwrites the stable name; verification then reads the replacement upload log and hard-fails instead of treating the stale candidate as a cache miss. Preserve immutable attempt identity or revalidate/skip a replaced artifact without weakening digest checks. Referencing the existing finding without duplicating it. Reviewed input hashing, producer/source restrictions, rerun selection, checksum verification and extraction; no additional findings. Hosted platform CI remains in progress. Static review only; no candidate code or local tests run.
Summary
SDK-only changes rebuilt native bundles whenever the committed pin fell behind the native source. CI now finds bundles by the exact native input hash and platform. This removes the manual pin update.
The lookup accepts qualified direct Alpha builds from approved branches. It compares the native inputs and workflow with the producing commit. It verifies the owning upload's artifact ID and digest, then checks the downloaded bytes before extraction. The lookup skips incomplete and expired candidates. A miss builds from source immediately. The current SDK build and native/security checks still run after a cache hit. Native bundles keep the existing 90-day retention.
Test plan
binaries.prisma.sh. The same command fails on the unchanged base. The parallel full test run was interrupted. Hosted full CI and cold/warm timing checks are pending.Issue number
None.
Checks
.agents/skills/code-change-verification/scripts/run.sh; the environment gap is recorded above.