setup-node icon indicating copy to clipboard operation
setup-node copied to clipboard

setup-node@4 fails to run on arm64 builds

Open lokeshgoel177 opened this issue 1 year ago • 1 comments

This is the github action I am trying to execute.

  build:
    strategy:
      fail-fast: false
      matrix:
        include:
          - os: ubuntu-latest
            platform: linux
            arch: arm64
          - os: macos-13
            platform: darwin
            arch: arm64
    runs-on: ${{ matrix.os }}
    steps:
      - shell: pwsh
        run: echo "target=${{ matrix.platform }}-${{ matrix.arch }}" >> $env:GITHUB_ENV
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          architecture: ${{ matrix.arch }}
          cache: 'npm'

. There are other steps later but for arm64 builds, it fails at setup-node@v4 step with the following error

Mac Arm 64

Extracting ...
/usr/bin/tar xz --strip 1 -C /Users/runner/work/_temp/567[13](https://github.com/couchbaselabs/VSCode-Couchbase/actions/runs/8518675448/job/23331250387#step:4:14)870-ba5a-45a1-8a6f-62588161ee1d -f /Users/runner/work/_temp/ba58543f-6f25-4d75-a75b-49ee69b4d428
Adding to the cache ...
Environment details
  node:internal/errors:497
      ErrorCaptureStackTrace(err);
      ^
  
  Error: spawn Unknown system error -86
      at ChildProcess.spawn (node:internal/child_process:421:11)
      at Object.spawn (node:child_process:761:9)
      at ToolRunner.<anonymous> (/Users/runner/work/_actions/actions/setup-node/v4/dist/setup/index.js:6772:34)
      at Generator.next (<anonymous>)
      at /Users/runner/work/_actions/actions/setup-node/v4/dist/setup/index.js:6386:71
      at new Promise (<anonymous>)
      at __webpack_modules__.8[15](https://github.com/couchbaselabs/VSCode-Couchbase/actions/runs/8518675448/job/23331250387#step:4:16)9.__awaiter (/Users/runner/work/_actions/actions/setup-node/v4/dist/setup/index.js:6382:12)
      at /Users/runner/work/_actions/actions/setup-node/v4/dist/setup/index.js:6754:53
      at new Promise (<anonymous>)
      at ToolRunner.<anonymous> (/Users/runner/work/_actions/actions/setup-node/v4/dist/setup/index.js:6754:[20](https://github.com/couchbaselabs/VSCode-Couchbase/actions/runs/8518675448/job/23331250387#step:4:21)) {
    errno: -86,
    code: 'Unknown system error -86',
    syscall: 'spawn'
  }
  
  Node.js v20.8.1

ubuntu arm 64

Attempting to download 20...
Acquiring 20.[12](https://github.com/couchbaselabs/VSCode-Couchbase/actions/runs/8518675448/job/23331249968#step:4:13).0 - arm64 from https://github.com/actions/node-versions/releases/download/20.12.0-8446029429/node-20.12.0-linux-arm64.tar.gz
Extracting ...
/usr/bin/tar xz --strip 1 --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/cd584cde-cff9-411e-a19f-7c00db957efb -f /home/runner/work/_temp/a4345947-83ef-450f-9246-f740e04bf9f5
Adding to the cache ...
Environment details
/opt/hostedtoolcache/node/20.12.0/arm64/bin/npm config get cache
/opt/hostedtoolcache/node/20.12.0/arm64/bin/node: 1: ELF�TĻ@xn�@8: not found
/opt/hostedtoolcache/node/20.12.0/arm64/bin/node: 3: Syntax error: word unexpected (expecting ")")
Error: /opt/hostedtoolcache/node/20.12.0/arm64/bin/node: 1: ELF�TĻ@xn�@8: not found
/opt/hostedtoolcache/node/20.12.0/arm64/bin/node: 3: Syntax error: word unexpected (expecting ")")

Is there any specific step I am missing for running Arm based builds? It works fine for x64 builds though

lokeshgoel177 avatar Apr 02 '24 07:04 lokeshgoel177

Hello @lokesh-couchbase, Thank you for creating this issue and we will look into it :)

aparnajyothi-y avatar Apr 02 '24 11:04 aparnajyothi-y

"Hello @lokesh-couchbase, Thank you once again for creating this issue. We have investigated about the issue and found that the error is due to the runner that you are using .i.e. macos-13 and it is giving the Unknown system error -86, which typically means that the system is having trouble starting a new process due to some unknown condition as macos-13 doesn't support arm64. For arm64 we need to use the github hosted runner tag macos-13-arm64 to support the arm64 builds. We tried the same with macos-13-arm64 runner and able to run arm64 builds successfully using setup-node@v4. Please find the screenshots for reference. Please update the runner and let us know if you are still facing the issue. image

image"

aparnajyothi-y avatar Apr 08 '24 09:04 aparnajyothi-y

Thanks for your reply @aparnajyothi-y , Based on your suggestion I changed to another runner (macos-13-xlarge) which is built for mac arm and it worked.

Just 1 question, why is macos-latest failing when it is getting built using M1 cores itself? Is Mac OS Sonoma not yet supported?

lokeshgoel177 avatar Apr 08 '24 18:04 lokeshgoel177

Hello @lokesh-couchbase, We don't have arm64 image pushed to macos-latest runner. Please refer this document. Please let us know in case of any other clarifications needed.

aparnajyothi-y avatar Apr 12 '24 09:04 aparnajyothi-y

Hello @lokesh-couchbase, We don't have arm64 image pushed to macos-latest runner. Please refer this document. Please let us know in case of any other clarifications needed.

aparnajyothi-y avatar Apr 23 '24 13:04 aparnajyothi-y

Closing this issue as we don't get any response from a long time. Please feel free to reach us in case of any other clarifications needed.

aparnajyothi-y avatar Apr 30 '24 13:04 aparnajyothi-y

Yes issues still open

On Tue, Apr 30, 2024, 8:20 AM aparnajyothi-y @.***> wrote:

Closed #994 https://github.com/actions/setup-node/issues/994 as completed.

— Reply to this email directly, view it on GitHub https://github.com/actions/setup-node/issues/994#event-12657988625, or unsubscribe https://github.com/notifications/unsubscribe-auth/BAESIE4CP4H5NJUONOCXNETY76LCLAVCNFSM6AAAAABFSZRGAOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGY2TOOJYHA3DENI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Mrquinn4 avatar Apr 30 '24 19:04 Mrquinn4