name: libnode development pack (Linux x64) description: >- Provide a libnode pack for the Node island tests and export SCRIPTC_LIBNODE: restored from the cache, or on a miss assembled from the pinned, checksum-verified inputs in packages/libnode-common/dev-pack.json (a prebuilt libnode and Node's headers; the bridge builds in seconds). Temporary until the NI-13 packs exist. Fails the job if no pack results: the island tests must never skip in CI. runs: using: composite steps: - uses: actions/cache@v4 id: libnode with: path: ${{ runner.temp }}/libnode-dev-pack key: libnode-dev-pack-linux-x64-${{ hashFiles('packages/libnode-common/dev-pack.json', 'packages/libnode-common/build-pack.mjs', 'packages/libnode-common/fetch-dev-pack.mjs', 'packages/libnode-common/bridge/**', 'packages/runtime/src/scr_node_bridge.h') }} - name: Assemble the libnode pack if: steps.libnode.outputs.cache-hit != 'true' shell: bash run: node packages/libnode-common/fetch-dev-pack.mjs --out "$RUNNER_TEMP/libnode-dev-pack" - name: Export SCRIPTC_LIBNODE shell: bash run: | test -f "$RUNNER_TEMP/libnode-dev-pack/manifest.json" test -f "$RUNNER_TEMP/libnode-dev-pack/libscr_node_bridge.so" echo "SCRIPTC_LIBNODE=$RUNNER_TEMP/libnode-dev-pack" >> "$GITHUB_ENV"