Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 7 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,18 +139,7 @@ jobs:
- uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
if: ${{ matrix.target == 'x86_64-apple-darwin' }}

- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: .node-version
architecture: x64
if: ${{ matrix.target == 'x86_64-apple-darwin' }}

- uses: oxc-project/setup-node@4c26e7cb3605b6bdef5450dacd02c434b10fd8ba # v1.2.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep x64 Node for x86_64 macOS test matrix

This change removes the only step that forced architecture: x64 for the x86_64-apple-darwin leg, but that leg still runs on an arm64 macOS runner and the inline comment explains the ignored tests require an x64 Node process (for the x86_64 fspy preload dylib under Rosetta). With only oxc-project/setup-node (no architecture input), Node defaults to runner architecture, so the x86_64 matrix can execute ignored tests against arm64 Node and fail.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Set x64 Node for the x86_64 macOS test leg

This unconditional oxc-project/setup-node call no longer forces an x64 Node runtime for the matrix.target == 'x86_64-apple-darwin' job, so that leg will default to the runner architecture (arm64) and can run ignored tests under the wrong Node ABI for x86_64-only preload artifacts. Fresh evidence: the pinned action (oxc-project/setup-node@4c26e7c) defines an architecture input and states it defaults to runner architecture when unset, and this step does not pass with: architecture: x64 for that matrix entry.

Useful? React with 👍 / 👎.

if: ${{ matrix.target != 'x86_64-apple-darwin' }}

# `pnpm install` prepares test bins used in snapshot tests
# Must run after setup-node so correct native binaries are installed
- run: pnpm install

- name: Run ignored tests
run: ${{ matrix.cargo_cmd }} test --target ${{ matrix.build_target }} -- --ignored
Expand Down Expand Up @@ -201,10 +190,13 @@ jobs:
- name: Run tests
run: cargo test

- name: Install pnpm and Node tools
run: |
corepack enable
pnpm install
# oxc-project/setup-node calls actions/setup-node, which only ships glibc
# Node binaries that can't run on Alpine's musl. The container's bundled
# Node is musl-native, so just install pnpm directly via npm.
- name: Install pnpm
run: npm install -g pnpm

- run: pnpm install

- name: Run ignored tests
run: cargo test -- --ignored
Expand Down
Loading