generated from actions/typescript-action
-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
I have a workflow that looks similar to this:
on:
push:
jobs:
prebuild:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
docker_arch: linux/amd64
- os: ubuntu-24.04-arm
docker_arch: linux/arm64/v8
- os: macos-13
- os: macos-latest
- os: windows-latest
- os: windows-11-arm
steps:
# Setup and install
- uses: actions/checkout@v4
with:
ref: ${{ env.ref }}
submodules: 'recursive'
- uses: volta-cli/action@v4
with:
node-version: 18
- run: |
node --print 'process'
# Other steps follow...windows-11-arm is silently installing and using an x64 build because Node.js didn't start publishing an ARM64 build until v20. I know this because the node --print debug line starts with:
process {
version: 'v18.20.8',
versions: {
node: '18.20.8',
acorn: '8.14.0',
ada: '2.8.0',
ares: '1.29.0',
base64: '0.5.2',
brotli: '1.1.0',
cjs_module_lexer: '1.2.2',
cldr: '44.1',
icu: '74.2',
llhttp: '6.1.1',
modules: '108',
napi: '9',
nghttp2: '1.61.0',
openssl: '3.0.16',
simdutf: '5.6.4',
tz: '2024a',
undici: '5.29.0',
unicode: '15.1',
uv: '1.44.2',
uvwasi: '0.0.19',
v8: '10.2.154.26-node.39',
zlib: '1.3.0.1-motley'
},
arch: 'x64',
platform: 'win32',
release: {
name: 'node',
lts: 'Hydrogen',
sourceUrl: 'https://nodejs.org/download/release/v18.20.8/node-v18.20.8.tar.gz',
headersUrl: 'https://nodejs.org/download/release/v18.20.8/node-v18.20.8-headers.tar.gz',
libUrl: 'https://nodejs.org/download/release/v18.20.8/win-x64/node.lib'
},
For some reason, node works fine when run, and admittedly, I don't know why. It may have to do with how the Docker image is built.
But it's causing some silent issues with my Node-API prebuildify workflow, where the generated binary is being put in a win32-x64 directory, but it isn't x64-compatible when tested.
My expectation is that the Volta install would fail because it couldn't find an appropriate version for the current architecture.
Metadata
Metadata
Assignees
Labels
No labels