Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-64311

NodeJS Plugin does not recognise CPU aarch64 as ARM64

    XMLWordPrintable

    Details

    • Similar Issues:
    • Released As:
      1.3.10

      Description

      1. Install the NodeJS Plugin
      2. Create a NodeJS 14 tool
      3. Attempt to reference said tool in a pipeline
      4. Watch it crash with the stacktrace below
      jenkins.plugins.nodejs.tools.DetectionFailedException: Unknown CPU architecture: aarch64
      	at jenkins.plugins.nodejs.tools.CPU.detect(CPU.java:111)
      	at jenkins.plugins.nodejs.tools.CPU.of(CPU.java:69)
      Caused: jenkins.plugins.nodejs.tools.DetectionFailedException: Error getting system properties on remote Node
      	at jenkins.plugins.nodejs.tools.CPU.of(CPU.java:71)
      	at jenkins.plugins.nodejs.tools.ToolsUtils.getCPU(ToolsUtils.java:43)
      	at jenkins.plugins.nodejs.tools.ToolsUtils.getCPU(ToolsUtils.java:39)
      	at jenkins.plugins.nodejs.tools.NodeJSInstaller$NodeJSInstallable.forNode(NodeJSInstaller.java:344)
      	at jenkins.plugins.nodejs.tools.NodeJSInstaller$NodeJSInstallable.forNode(NodeJSInstaller.java:335)
      	at jenkins.plugins.nodejs.tools.NodeJSInstaller.performInstallation(NodeJSInstaller.java:115)
      	at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:69)
      	at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:109)
      	at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:217)
      	at jenkins.plugins.nodejs.tools.NodeJSInstallation.forNode(NodeJSInstallation.java:95)
      	at jenkins.plugins.nodejs.tools.NodeJSInstallation.forNode(NodeJSInstallation.java:63)
      	at org.jenkinsci.plugins.workflow.steps.ToolStep$Execution.run(ToolStep.java:152)
      	at org.jenkinsci.plugins.workflow.steps.ToolStep$Execution.run(ToolStep.java:133)
      	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      Finished: FAILURE

        Attachments

          Activity

          Hide
          nfalco Nikolas Falco added a comment -

          Looking around JVM use aarch64 for ARMv8 and as per plugin documentation ARMv8 is not supported, neither by NodeJS 14 distribution.

          Show
          nfalco Nikolas Falco added a comment - Looking around JVM use aarch64 for ARMv8 and as per plugin documentation ARMv8 is not supported, neither by NodeJS 14 distribution .
          Hide
          nfalco Nikolas Falco added a comment -

          Recent SUSE 12 version supports aarch64. I do not know if aarch64 means arm64. I do not have a Raspberry 3+ for test.

          Show
          nfalco Nikolas Falco added a comment - Recent SUSE 12 version supports aarch64. I do not know if aarch64 means arm64. I do not have a Raspberry 3+ for test.
          Hide
          sefzy46rs67g3d Peter Somogyvari added a comment -

          Nikolas FalcoThank you for looking into this!

           

          Looking around JVM use aarch64 for ARMv8 and as per plugin documentation ARMv8 is not supported

          I guess my issue is a feature request then.

           

          ARMv8 is the same as aarch64 in practical terms I believe (can confirm that my R. Pi 4 declares itself as aarch64 and runs NodeJS' ARM64 builds just fine.

           

          neither by NodeJS 14 distribution.

          See above regarding aarch64 and ARM64 being the same (in practical terms)

           

          Recent SUSE 12 version supports aarch64.

          Ubuntu also, if that helps.

          I do not know if aarch64 means arm64.

          See above. Basically: yes, it does.

          I do not have a Raspberry 3+ for test.

          Understandable. What I can offer in terms of help is the testing of the plugin on my Raspberry Pi 3 and 4 if someone were to implement the feature being requested here. Of course I do not know how feasible that is without the person writing the code having access to an R. Pi. Maybe they can use other machines, like something provisioned in the cloud that also has an ARM64 arch, just guessing here.

           

          Show
          sefzy46rs67g3d Peter Somogyvari added a comment - Nikolas Falco Thank you for looking into this!   Looking around JVM use aarch64 for ARMv8 and as per plugin documentation ARMv8 is not supported I guess my issue is a feature request then.   ARMv8 is the same as aarch64 in practical terms I believe (can confirm that my R. Pi 4 declares itself as aarch64 and runs NodeJS' ARM64 builds just fine.   neither by NodeJS 14 distribution. See above regarding aarch64 and ARM64 being the same (in practical terms)   Recent SUSE 12 version supports aarch64. Ubuntu also, if that helps. I do not know if aarch64 means arm64. See above. Basically: yes, it does. I do not have a Raspberry 3+ for test. Understandable. What I can offer in terms of help is the testing of the plugin on my Raspberry Pi 3 and 4 if someone were to implement the feature being requested here. Of course I do not know how feasible that is without the person writing the code having access to an R. Pi. Maybe they can use other machines, like something provisioned in the cloud that also has an ARM64 arch, just guessing here.  
          Hide
          nfalco Nikolas Falco added a comment -

          I did the changes, you can build the plugin (mvn clean package) and install on your side. If it's ok I will release.

          Show
          nfalco Nikolas Falco added a comment - I did the changes, you can build the plugin (mvn clean package) and install on your side. If it's ok I will release.

            People

            Assignee:
            nfalco Nikolas Falco
            Reporter:
            sefzy46rs67g3d Peter Somogyvari
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: