Skip to content

Update Player to 0.15.5, migrate DSL to @player-lang/react-dsl, and upgrade to Bazel 9#62

Open
sugarmanz wants to merge 4 commits into
mainfrom
chore/update-player-0.15.5
Open

Update Player to 0.15.5, migrate DSL to @player-lang/react-dsl, and upgrade to Bazel 9#62
sugarmanz wants to merge 4 commits into
mainfrom
chore/update-player-0.15.5

Conversation

@sugarmanz

@sugarmanz sugarmanz commented Jul 25, 2026

Copy link
Copy Markdown
Member

What

Two related changes, plus the CI fixes needed to make them land green.

1. Player + DSL update

  • Runtime @player-ui/* (11 packages): 0.9.1-next.00.15.5 (latest pre-1.0). No @[email protected] is introduced.
  • DSL: deprecated @player-tools/[email protected]@player-lang/[email protected]. @player-tools/dsl was renamed at Player 1.0; [email protected] declares its Player peers at ^0.15.0, resolving to the same 0.15.5 singleton (single @player-ui/[email protected], no 1.x). Imports, BUILD deps, storybook transpile map, and scaffolding templates rewired to the new scope.

2. Bazel 6 → 9 upgrade

The coverage-trunk CI job was failing with a JDK cgroup-v2 NullPointerException in Bazel 6's Java worker (building remote_coverage_tools) — a crash before any test ran. Bazel 9 + the newer bazel-docker image ship a JDK where this is fixed, matching the infra upgrade already done in player-ui/player.

  • .bazelversion 6.4.0 → 9.1.1; bzlmod deps bumped to Bazel-9-compatible versions (rules_player v2.6.6, aspect_rules_js 2.3.8, aspect_rules_ts 3.8.10, aspect_bazel_lib 2.22.5, bazel_skylib 1.9.0, rules_pkg 1.1.0, rules_nodejs 6.7.5, aspect_rules_swc 2.7.5; added rules_cc for the Bazel-9 CcInfo relocation).
  • npm_translate_lock: npm_package_target_name = "{dirname}" to match the new js_pipeline link target (was :pkg).
  • Pinned rules_ts to the repo's TypeScript (4.8.4) so the toolchain doesn't default to TS 5.6.2 and error on deprecated tsconfig options.
  • Removed unused browseresbuild-wasm/lib/browser workspace alias the new rules_js can't resolve (real import goes through esbuild-wasm directly).
  • .circleci: executor image bazel-docker:6:latest.

3. CI fixes uncovered by the Bazel 9 upgrade

Fixing the coverage crash let the job proceed further and surfaced two pre-existing issues that the crash had been masking:

  • .bazelrc: Bazel 9 removed --local_cpu_resources / --local_ram_resources → replaced with --local_resources=cpu=N / --local_resources=memory=N. Also renamed the deprecated experimental_remote_cache_* flags.
  • Codecov orb 3.2.26.0.0: the old uploader's GPG key validation failed (no valid OpenPGP data found); bumped the orb and updated the upload param file:files: for 6.x. Matches player-ui/player.

Verification

  • All 32 test targets pass locally under Bazel 9.1.1.
  • Player tree verified: single @player-ui/[email protected], zero @player-ui/*@1.x.
  • CI fully green, including coverage-trunk — the job that previously crashed now builds, computes, and uploads coverage end-to-end.

Release Notes

Player runtime bumped to 0.15.5; DSL moved from deprecated @player-tools/dsl to @player-lang/react-dsl. Build toolchain upgraded to Bazel 9.

- Bump all @player-ui/* runtime packages 0.9.1-next.0 -> 0.15.5 (latest pre-1.0)
- Replace deprecated @player-tools/dsl with @player-lang/[email protected]
  (its ^0.15.0 peers resolve to 0.15.5, so no @player-ui 1.x is pulled in)
- Rewire all DSL imports, BUILD deps, storybook transpile map, and scaffolding templates
- Reformat wrapped imports to satisfy prettier
@sugarmanz

Copy link
Copy Markdown
Member Author

/canary

1 similar comment
@sugarmanz

Copy link
Copy Markdown
Member Author

/canary

The coverage-trunk CI job failed with a JDK cgroup-v2 NullPointerException in
Bazel 6's Java worker (building remote_coverage_tools). Bazel 9 + the newer
bazel-docker image ship a JDK where this is fixed. Follows the same infra
upgrade already done in player-ui/player.

- .bazelversion 6.4.0 -> 9.1.1
- Bump bzlmod deps to Bazel-9-compatible versions (rules_player v2.6.6,
  aspect_rules_js 2.3.8, aspect_rules_ts 3.8.10, aspect_bazel_lib 2.22.5,
  bazel_skylib 1.9.0, rules_pkg 1.1.0, rules_nodejs 6.7.5, aspect_rules_swc
  2.7.5); add rules_cc for the Bazel-9 CcInfo relocation
- npm_translate_lock: npm_package_target_name = "{dirname}" to match the
  workspace-link target name the new js_pipeline produces (was ':pkg')
- Pin rules_ts to the repo's TypeScript (4.8.4) so the toolchain doesn't
  default to TS 5.6.2 and error on deprecated tsconfig options
- Remove unused 'browser' -> esbuild-wasm/lib/browser workspace alias that the
  new rules_js can't resolve (real import goes through esbuild-wasm directly)
- .bazelrc: rename deprecated experimental_remote_cache_* flags
- .circleci: bazel-docker:6 -> :latest

Local: all 32 test targets pass under Bazel 9.1.1.
@sugarmanz sugarmanz changed the title Update Player to latest pre-1.0 (0.15.5) and migrate DSL to @player-lang/react-dsl Update Player to 0.15.5, migrate DSL to @player-lang/react-dsl, and upgrade to Bazel 9 Jul 25, 2026
Bazel 9 removed --local_cpu_resources / --local_ram_resources. CI's
build:ci config hit 'Unrecognized option'. Use the Bazel 9 form
--local_resources=cpu=N / --local_resources=memory=N (matches player-ui/player).
With the Bazel 9 coverage crash fixed, coverage-trunk now reaches the Codecov
upload step, which failed on the old orb's uploader GPG-key validation
('no valid OpenPGP data found'). Bump to [email protected] (matches player-ui/player)
and rename the upload param file: -> files: for the 6.x syntax.
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.

1 participant