Merge the macOS island fixes of ni/1-libnode-loader

The libnode-linux action becomes .github/actions/libnode, which serves
the Linux x64 and macOS lanes: the libnode-packs cache for the runner's
platform, else the development pack.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Malte Ubl
2026-10-26 12:50:39 -07:00
co-authored by Claude Opus 5.5
10 changed files with 171 additions and 32 deletions
+21 -2
View File
@@ -215,7 +215,7 @@ jobs:
# Node island tests (`// @requires-libnode` corpus programs and
# node-island.test.ts) load Node from a libnode pack, and fail rather
# than skip in this lane when none is configured.
- uses: ./.github/actions/libnode-linux
- uses: ./.github/actions/libnode
# Ubuntu pipes core dumps to apport, and RLIMIT_CORE does not limit a
# piped dump. The kernel then streams every page of the runtime's
# reserved allocator address space through the pipe, so each expected
@@ -284,6 +284,9 @@ jobs:
path: ${{ runner.temp }}
- run: tar -xzf "$RUNNER_TEMP/native-darwin-arm64.tar.gz"
- run: pnpm build
# Node island tests load Node from a libnode pack, and fail rather
# than skip on macOS CI when none is configured.
- uses: ./.github/actions/libnode
- name: Tests (${{ (github.event_name != 'schedule' && inputs.macos_suite != 'full') && 'darwin suite' || 'corpus and integration suites' }})
run: node scripts/ci-test.mjs
@@ -704,6 +707,12 @@ jobs:
path: ${{ runner.temp }}
- run: tar -xzf "$RUNNER_TEMP/native-darwin-arm64.tar.gz"
- run: pnpm build
# Node island tests load Node from a libnode pack, and fail rather
# than skip on macOS CI when none is configured.
- uses: ./.github/actions/libnode
- name: Node island harness
if: matrix.shard == 1
run: pnpm test tests/harness/node-island packages/libnode-common
- name: No-clang assembly/object contract
if: matrix.shard == 1
run: pnpm test packages/cli/test/native-output.test.ts
@@ -761,7 +770,8 @@ jobs:
if: ${{ needs.validation_scope.outputs.full == 'true' && needs.lanes.outputs.macos == 'true' }}
name: test (macOS x64 LLVM artifacts, no clang)
runs-on: macos-15-intel
timeout-minutes: 20
# The Node island tests take most of it.
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
@@ -776,6 +786,15 @@ jobs:
with:
target: darwin-x64
- run: pnpm build
# Node island tests load Node from a libnode pack, and fail rather
# than skip on macOS CI when none is configured.
- uses: ./.github/actions/libnode
- name: Node islands (Intel)
run: >-
pnpm test tests/harness/node-island packages/libnode-common
&& pnpm test tests/harness/differential.test.ts -t ' (68[0-9][0-9]|7661|7662)-'
env:
SCRIPTC_TEST_WORKERS: "3"
- name: Intel Mach-O no-clang object contract
run: |
mkdir -p "$RUNNER_TEMP/traps"