Skip to content

feat(v8): consolidate wee8 packaging to single CI job producing all 4 artifacts via Starlark transitions - #1090

Closed
phlax with Copilot wants to merge 3 commits into
v8-buildfrom
copilot/consolidate-package-v8-ci-job
Closed

feat(v8): consolidate wee8 packaging to single CI job producing all 4 artifacts via Starlark transitions#1090
phlax with Copilot wants to merge 3 commits into
v8-buildfrom
copilot/consolidate-package-v8-ci-job

Conversation

Copilot AI commented Aug 13, 2026

Copy link
Copy Markdown

Two separate package-v8 CI matrix legs (x86_64 and aarch64) produced only 3 artifacts — aarch64+libstdcxx was explicitly blocked. This collapses everything into one job that builds all four v8-wee8-<version>-linux-{x86_64,aarch64}[-libstdcxx].tar.xz artifacts via Starlark transitions, eliminating the --platforms command-line flag.

Transition extension (wee8_package.bzl)

  • _wee8_transition_impl now sets //command_line_option:platforms from the rule's arch attr (x86_64@toolchains_llvm//platforms:linux-x86_64, aarch64…:linux-aarch64) alongside the existing stdlib/toolchain logic
  • Removed the fail() guard for aarch64+libstdcxx

Prebuilt repo machinery (wee8_prebuilt.bzl)

  • wee8_prebuilt_repo_name(arch, stdlib) generalised: libcxxwee8_prebuilt_<arch>, libstdcxxwee8_prebuilt_<arch>_libstdcxx — no more arch special-casing
  • setup_wee8_prebuilt() now loops over all 4 arch×stdlib combinations; adds aarch64_libstdcxx_{version,sha256} params
  • unsupported_target rule removed (no remaining callers)

BUILD changes

  • bazel/v8/BUILD: removes wee8_aarch64_gcc_unsupported; :linux_aarch64_gcc now selects @wee8_prebuilt_aarch64_libstdcxx//:wee8; per-arch aliases replaced by single //v8:wee8_packages
  • bazel/v8/package/BUILD: list comprehension over _ARCHES × _STDLIBS generates all 4 wee8_package targets + wee8_packages filegroup

CI / release

  • bazel.yml: matrix replaced by a single job targeting //v8:wee8_packages with glob v8/v8-wee8-*.tar.xz, artifact name bazel-wee8-artifacts, no --platforms flag
  • _release.yml: SHA extraction list extended with ["aarch64", "libstdcxx"]
  • versions.bzl: aarch64 wee8_sha256 dict gets "libstdcxx": "" (empty → missing-prebuilt target until first publish)
  • wee8_prebuilt_test.bzl: assertions added for aarch64/libstdcxx repo name and archive filename

phlax and others added 2 commits August 13, 2026 15:59
Signed-off-by: Ryan Northey <ryan@synca.io>
…sitions

- Extend _wee8_transition_impl to set //command_line_option:platforms based on arch
- Remove aarch64+libstdcxx fail() from wee8_package()
- Generalise wee8_prebuilt_repo_name() for all arch×stdlib combos
- Add aarch64/libstdcxx key to VERSIONS["wee8_sha256"] in versions.bzl
- setup_wee8_prebuilt() now loops over all 4 arch×stdlib repos; add aarch64_libstdcxx params to extensions.bzl
- Remove wee8_aarch64_gcc_unsupported and unsupported_target rule; point :linux_aarch64_gcc at new prebuilt
- package/BUILD: generate all 4 wee8_package targets + wee8_packages filegroup via comprehension
- bazel/v8/BUILD: replace per-arch aliases with single wee8_packages alias
- Collapse package-v8 CI matrix to single job targeting //v8:wee8_packages
- Update _release.yml SHA extraction to cover aarch64/libstdcxx
- Update test to cover aarch64/libstdcxx and generalised repo name

Co-authored-by: phlax <454682+phlax@users.noreply.github.com>
Copilot AI changed the title [WIP] Consolidate package-v8 CI legs into a single job feat(v8): consolidate wee8 packaging to single CI job producing all 4 artifacts via Starlark transitions Aug 13, 2026
Copilot AI requested a review from phlax August 13, 2026 15:11
@phlax phlax closed this Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants