Skip to content

[build] Add Windows arm64 runner#4062

Closed
fhanau wants to merge 3 commits into
mainfrom
felix/043025-windows-arm64
Closed

[build] Add Windows arm64 runner#4062
fhanau wants to merge 3 commits into
mainfrom
felix/043025-windows-arm64

Conversation

@fhanau

@fhanau fhanau commented May 1, 2025

Copy link
Copy Markdown
Contributor

No description provided.

@fhanau
fhanau requested review from a team as code owners May 1, 2025 01:50
@fhanau
fhanau marked this pull request as draft May 1, 2025 02:03
@fhanau

fhanau commented May 1, 2025

Copy link
Copy Markdown
Contributor Author

This is blocked for now – rules_js uses yq to parse the pnpm lock file, but doesn't set up a arm64 Windows toolchain for it. https://github.com/bazel-contrib/bazel-lib/blob/main/lib/private/yq_toolchain.bzl
yq releases are not available for arm64 Windows atm, so this is a hard blocker for now. https://github.com/mikefarah/yq/releases/tag/v4.45.1

@fhanau
fhanau force-pushed the felix/043025-windows-arm64 branch from 7d89b0e to c37ee98 Compare May 3, 2025 22:52
@fhanau
fhanau force-pushed the felix/043025-windows-arm64 branch from c37ee98 to 57469f7 Compare May 3, 2025 22:52
@fhanau

fhanau commented May 3, 2025

Copy link
Copy Markdown
Contributor Author

Managed to patch out the yq issue, but that only revealed several other issues:

This continues to be blocked unfortunately.

threepointone added a commit that referenced this pull request Apr 2, 2026
aspect_rules_js uses yq to parse pnpm lockfiles during repository setup.
It resolves the yq binary via @yq_{platform}, where {platform} is detected
from the host. On Windows ARM64, this becomes @yq_windows_arm64, which
doesn't exist in yq.bzl 0.3.2 (the version transitively pulled in by
aspect_rules_js 3.0.3).

yq.bzl 0.3.5 includes Windows ARM64 yq binaries, so we override the
transitive version with a direct bazel_dep in the root MODULE.bazel.

This was the primary blocker identified in the prior Windows ARM64 attempt
(PR #4062). The other blockers from that attempt have since been resolved:
- rules_nodejs 6.7.3 (already used) includes windows_arm64 Node.js
  toolchain support (merged in 6.5.0, fix in 6.6.1)
- bazel_lib 3.2.2 (already used) includes windows_arm64 binaries for
  copy_to_directory, coreutils, expand_template, and zstd
- The setup-runner action already enables developer mode on Windows via
  reg add, which also runs on ARM64 runners

Made-with: Cursor
threepointone added a commit that referenced this pull request Apr 8, 2026
aspect_rules_js uses yq to parse pnpm lockfiles during repository setup.
It resolves the yq binary via @yq_{platform}, where {platform} is detected
from the host. On Windows ARM64, this becomes @yq_windows_arm64, which
doesn't exist in yq.bzl 0.3.2 (the version transitively pulled in by
aspect_rules_js 3.0.3).

yq.bzl 0.3.5 includes Windows ARM64 yq binaries, so we override the
transitive version with a direct bazel_dep in the root MODULE.bazel.

This was the primary blocker identified in the prior Windows ARM64 attempt
(PR #4062). The other blockers from that attempt have since been resolved:
- rules_nodejs 6.7.3 (already used) includes windows_arm64 Node.js
  toolchain support (merged in 6.5.0, fix in 6.6.1)
- bazel_lib 3.2.2 (already used) includes windows_arm64 binaries for
  copy_to_directory, coreutils, expand_template, and zstd
- The setup-runner action already enables developer mode on Windows via
  reg add, which also runs on ARM64 runners

Made-with: Cursor
threepointone added a commit that referenced this pull request Apr 8, 2026
aspect_rules_js uses yq to parse pnpm lockfiles during repository setup.
It resolves the yq binary via @yq_{platform}, where {platform} is detected
from the host. On Windows ARM64, this becomes @yq_windows_arm64, which
doesn't exist in yq.bzl 0.3.2 (the version transitively pulled in by
aspect_rules_js 3.0.3).

yq.bzl 0.3.5 includes Windows ARM64 yq binaries, so we override the
transitive version with a direct bazel_dep in the root MODULE.bazel.

This was the primary blocker identified in the prior Windows ARM64 attempt
(PR #4062). The other blockers from that attempt have since been resolved:
- rules_nodejs 6.7.3 (already used) includes windows_arm64 Node.js
  toolchain support (merged in 6.5.0, fix in 6.6.1)
- bazel_lib 3.2.2 (already used) includes windows_arm64 binaries for
  copy_to_directory, coreutils, expand_template, and zstd
- The setup-runner action already enables developer mode on Windows via
  reg add, which also runs on ARM64 runners

Made-with: Cursor
threepointone added a commit that referenced this pull request Apr 9, 2026
aspect_rules_js uses yq to parse pnpm lockfiles during repository setup.
It resolves the yq binary via @yq_{platform}, where {platform} is detected
from the host. On Windows ARM64, this becomes @yq_windows_arm64, which
doesn't exist in yq.bzl 0.3.2 (the version transitively pulled in by
aspect_rules_js 3.0.3).

yq.bzl 0.3.5 includes Windows ARM64 yq binaries, so we override the
transitive version with a direct bazel_dep in the root MODULE.bazel.

This was the primary blocker identified in the prior Windows ARM64 attempt
(PR #4062). The other blockers from that attempt have since been resolved:
- rules_nodejs 6.7.3 (already used) includes windows_arm64 Node.js
  toolchain support (merged in 6.5.0, fix in 6.6.1)
- bazel_lib 3.2.2 (already used) includes windows_arm64 binaries for
  copy_to_directory, coreutils, expand_template, and zstd
- The setup-runner action already enables developer mode on Windows via
  reg add, which also runs on ARM64 runners

Made-with: Cursor
@fhanau

fhanau commented Apr 10, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #6486.

@fhanau fhanau closed this Apr 10, 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