-
Notifications
You must be signed in to change notification settings - Fork 12.1k
CI: Customize v8 building #22086
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
Open
cconger
wants to merge
19
commits into
main
Choose a base branch
from
release/rusty-v8-147-artifacts
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
CI: Customize v8 building #22086
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
54b2925
build: prepare rusty_v8 147.4.0 artifacts
cconger 15356f9
ci: make rusty_v8 staging select host llvm tools
cconger d3dd2d9
build: add sandbox rusty_v8 artifact lane
cconger b156d79
ci: allow rusty_v8 release amendments
cconger d36015e
ci: add builds for all targets
cconger 2c05f33
ci: merge Unix runtime libs into rusty_v8 sandbox artifacts
cconger 4ad4a6c
Fix Darwin rusty-v8 runtime staging
cconger 7b5a9e8
ci: mirror upstream rusty_v8 artifact production
cconger 0cbb0b2
bazel: build rusty_v8 release artifacts hermetically
cconger dbb188d
fix(v8): restore Linux sandbox artifact builds
cconger 7369abc
ci(v8): add Windows source-build canary
cconger 70be873
ci(v8): install upstream Rust target explicitly
cconger 109b471
fix(v8): address review feedback
cconger 0d1b1db
fix(v8): materialize staged Bazel outputs
cconger 2f79c7a
fix(v8): align windows gnullvm with 147
cconger ca7d8f9
v8: include CRDTP bindings in 147 Bazel builds
cconger f0da0c6
fix(v8): verify musl artifacts with release checksums
cconger 41daf10
docs(v8): document release update workflow
cconger b489b06
docs(skill): add v8 update workflow
cconger 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| --- | ||
| name: update-v8-version | ||
| description: Update Codex's pinned `v8` / `rusty_v8` versions, validate the release-candidate path, and investigate failed V8 canary or artifact builds. Use when asked to bump V8, update `rusty_v8` artifacts, prepare or validate a V8 release candidate, check `v8-canary`, or diagnose why a V8 version update no longer builds. | ||
| --- | ||
|
|
||
| # Update V8 Version | ||
|
|
||
| ## Core Workflow | ||
|
|
||
| 1. Read `third_party/v8/README.md` and follow its version-bump sequence. Treat | ||
| that document as the release-process source of truth. | ||
| 2. Inspect and update the concrete repo surfaces that carry the pin: | ||
| - `codex-rs/Cargo.toml` | ||
| - `codex-rs/Cargo.lock` | ||
| - `MODULE.bazel` | ||
| - `third_party/v8/BUILD.bazel` | ||
| - `third_party/v8/README.md` | ||
| - the matching `third_party/v8/rusty_v8_<version>.sha256` manifest when the | ||
| remaining prebuilt inputs change | ||
| 3. Keep the existing checksum helpers in the loop: | ||
|
|
||
| ```bash | ||
| python3 .github/scripts/rusty_v8_bazel.py update-module-bazel | ||
| python3 .github/scripts/rusty_v8_bazel.py check-module-bazel | ||
| python3 -m unittest discover -s .github/scripts -p test_rusty_v8_bazel.py | ||
| ``` | ||
|
|
||
| 4. Validate the release-candidate path before broadening the work: | ||
| - Prefer checking the `v8-canary` CI result for the candidate branch or PR | ||
| when one exists, using GitHub check tooling or `gh` as appropriate. | ||
| - If CI is unavailable or the user asked for a local-only check, run the | ||
| closest local validation that is practical for the changed surface and say | ||
| explicitly that it is a local substitute, not the full hosted canary. | ||
| 5. If the canary path passes, stop there. Summarize the result and encourage the | ||
| user to commit the candidate changes or proceed with the release flow they | ||
| requested. Do not publish tags, releases, or pushes unless the user asked. | ||
|
|
||
| ## Failure Path | ||
|
|
||
| Enter this path only when the canary or local build path fails. | ||
|
|
||
| 1. Capture the failing target, workflow job, and first actionable error. | ||
| 2. Compare the currently pinned version with the target version at the relevant | ||
| upstream tag or SHA. Inspect both: | ||
| - `denoland/rusty_v8` | ||
| - upstream V8 source at the target Bazel-pinned version | ||
| 3. Track build-relevant deltas rather than broad source churn: | ||
| - generated binding layout changes | ||
| - archive or asset naming changes | ||
| - GN/Bazel target changes | ||
| - custom libc++ / libc++abi / llvm-libc inputs | ||
| - sandbox or pointer-compression feature relationships | ||
| - patch hunks in `patches/` that no longer apply or no longer match upstream | ||
| 4. Trace each failing delta back into Codex's build graph: | ||
| - `MODULE.bazel` | ||
| - `third_party/v8/BUILD.bazel` | ||
| - `.github/scripts/rusty_v8_bazel.py` | ||
| - `.github/workflows/v8-canary.yml` | ||
| - `.github/workflows/rusty-v8-release.yml` | ||
| 5. Update only the pieces required to restore the target version's build and | ||
| artifact contract. Keep patch explanations and doc changes close to the | ||
| affected files. | ||
| 6. Re-run the focused validation. If it becomes green, return to the normal | ||
| workflow and stop with a concise summary plus the remaining release step. | ||
|
|
||
| ## Reporting | ||
|
|
||
| - Say whether validation came from hosted `v8-canary` or from a local | ||
| substitute. | ||
| - Distinguish "version bump complete" from "release published". | ||
| - When blocked, report the upstream delta that matters, the Codex file it hits, | ||
| and the next concrete fix to try. |
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,4 @@ | ||
| interface: | ||
| display_name: "Update V8 Version" | ||
| short_description: "Guide V8 bumps and release validation" | ||
| default_prompt: "Use $update-v8-version to update Codex to a new v8 release and validate the release-candidate path." |
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.