Skip to content

Ubuntu 24.04 ARM64 - failing Node tests #14213

@jaceksocha

Description

@jaceksocha

Description

On ubuntu-24.04 arm64 builds, the Pester test Node.Tests.ps1 → Node.js → n fails with n: command not found, even though n is listed in toolset-2404.json → node_modules and install-nodejs.sh runs npm install -g
$node_modules which reports success (added 1172 packages).

All other globals from the same npm install -g invocation (grunt, gulp, parcel, tsc, newman, webpack, webpack-cli, lerna, yarn) are present on PATH and pass their tests. Only n is missing.

Failing test output

Describing Node.js
[+] node 109ms
[+] grunt 134ms
[+] gulp 113ms
[-] n 40ms
Command 'n --version' has finished with exit code
/usr/bin/bash: line 1: n: command not found
at "$NodeCommand --version" | Should -ReturnZeroExitCode,
/imagegeneration/tests/Node.Tests.ps1:7
[+] parcel 52ms
[+] tsc 154ms
...
Tests Passed: 11, Failed: 1
Exception: Test run has failed

Build then aborts with Script exited with non-zero exit status: 1.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Ubuntu Slim
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26
  • macOS 26 Arm64
  • Windows Server 2022
  • Windows Server 2025
  • Windows Server 2025 with Visual Studio 2026

Image version and build link

current packer code from main branch

Is it regression?

no sure, ARM64 based image seems to be quite new

Expected behavior

Tests works in proper way.

Actual behavior

Tests failing

Repro steps

  1. Build the ubuntu-24.04 arm64 image.
  2. Wait for the install-nodejs.sh provisioner to run invoke_tests "Node" "Node.js".
  3. Observe the [-] n failure in the Pester output and the resulting non-zero exit from the provisioner.

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions