Skip to content

Run tests on ARM based runners and fix NPM tests - #3081

Closed
Goooler wants to merge 6 commits into
g/20260908/java-25-26from
g/20260908/windows-on-arm
Closed

Goooler wants to merge 6 commits into
g/20260908/java-25-26from
g/20260908/windows-on-arm

Conversation

@Goooler

@Goooler Goooler commented Sep 15, 2026

Copy link
Copy Markdown
Member

This should speed up builds.

@Goooler
Goooler added this pull request to stack #3076 September 15, 2026 10:25
@Goooler
Goooler force-pushed the g/20260908/windows-on-arm branch from efb2992 to 3d810b4 Compare September 15, 2026 10:31
@Goooler Goooler changed the title Run tests on windows-11-arm runners Run tests on ARM based runners Sep 15, 2026
This should speed up builds.
@Goooler
Goooler force-pushed the g/20260908/windows-on-arm branch 2 times, most recently from 1451bc8 to fc56d64 Compare September 15, 2026 11:31
@Goooler Goooler changed the title Run tests on ARM based runners Run tests on ARM based runners and fix NpmTestsWithoutNpmInstallationTest Sep 15, 2026
@Goooler
Goooler force-pushed the g/20260908/windows-on-arm branch from 20322e7 to 6796ffe Compare September 15, 2026 13:21
@Goooler Goooler changed the title Run tests on ARM based runners and fix NpmTestsWithoutNpmInstallationTest Run tests on ARM based runners and fix NPM tests Sep 15, 2026
-----

Bump Node to v22.14.0 in NpmTestsWithDynamicallyInstalledNpmInstallationTest

Fixes 404 download failure on Windows ARM64 runners when frontend-maven-plugin attempts to download Node 18 (which has no official win-arm64 binaries on nodejs.org):

```
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:install-node-and-npm (default-cli) on project spotless-maven-plugin-tests: Could not download Node.js: Got error code 404 from the server. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.3:install-node-and-npm (default-cli) on project spotless-maven-plugin-tests: Could not download Node.js: Got error code 404 from the server.
Caused by: org.apache.maven.plugin.MojoFailureException: Could not download Node.js: Got error code 404 from the server.
    at com.github.eirslett.maven.plugins.frontend.mojo.MojoUtils.toMojoFailureException(MojoUtils.java:28)
    at com.github.eirslett.maven.plugins.frontend.mojo.AbstractFrontendMojo.execute(AbstractFrontendMojo.java:103)
```

-----

Bump Node to 22.14.0 and npm to 10.9.2 in NpmTestsWithoutNpmInstallationTest

Node.js official distribution did not provide Windows ARM64 (win-arm64.zip) prebuilt binaries for Node 18.x, causing download failures on Windows on ARM runners:

```
Could not determine the dependencies of task ':nodeSetup'.
> Failed to query the value of task ':nodeSetup' property 'nodeArchiveFile'.
   > Could not resolve all files for configuration ':detachedConfiguration1'.
      > Could not find org.nodejs:node:18.16.1.
        Searched in the following locations:
          - https://nodejs.org/dist/v18.16.1/node-v18.16.1-win-arm64.zip
```

-----

Bump gradle-node-plugin to 7.1.0 in NpmTestsWithoutNpmInstallationTest

Fixes configuration cache failure on Linux ARM runners where gradle-node-plugin 3.5.1 attempted to run `uname -m` during configuration time:

```
Caused by: org.gradle.api.InvalidUserCodeException: Starting an external process 'uname -m' during configuration time is unsupported.
    at org.gradle.configurationcache.initialization.DefaultConfigurationCacheProblemsListener.onExternalProcessStarted(ConfigurationCacheProblemsListener.kt:87)
    at org.gradle.configurationcache.InstrumentedInputAccessListener.externalProcessStarted(InstrumentedInputAccessListener.kt:110)
    at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:501)
    at org.gradle.internal.classpath.Instrumented.externalProcessStarted(Instrumented.java:509)
    at org.gradle.internal.classpath.Instrumented.start(Instrumented.java:363)
    at com.github.gradle.node.util.KotlinUtilsKt.execute(KotlinUtils.kt:14)
```
@Goooler
Goooler force-pushed the g/20260908/windows-on-arm branch from 6796ffe to 354985d Compare September 15, 2026 13:29
@nedtwigg

Copy link
Copy Markdown
Member

I'm not so sure about this ARM change. If it makes a big difference, great, but if it's only a small change then it makes our CI less similar to most non-Apple developer machines.

Whether you include this or not, please merge the rest of your stack if you're happy with it! Little PRs are coming in and I'm afraid to merge them and screw up this nice tower of great PRs you've got going on here. I'm very eager to publish soon so that we can test all these buildscript changes which have landed.

@Goooler
Goooler deleted the g/20260908/windows-on-arm branch September 16, 2026 11:52
An error occurred while trying to automatically change base from g/20260908/java-25-26 to main September 16, 2026 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants