IBM Semeru fails to install ARM64 build: Unsupported architecture for IBM Semeru: arm64, the following are supported: x64, x86, ppc64le, ppc64, s390x, aarch64
Description:
The action fails to install Semeru arm64.
I guess the installer should use .distributionArchitecture() instead of .architecture: https://github.com/actions/setup-java/blob/9eda6b51cc4f6ee99be3dd5537b85e389e47bda9/src/distributions/semeru/installer.ts#L36C47-L36C59
For example, Microsoft installer uses .distributionArchitecture(): https://github.com/actions/setup-java/blob/9eda6b51cc4f6ee99be3dd5537b85e389e47bda9/src/distributions/microsoft/installer.ts#L51
Run actions/setup-java@v3
with:
java-version: 17
17
distribution: semeru
java-package: jdk
check-latest: false
server-id: github
server-username: GITHUB_ACTOR
server-password: GITHUB_TOKEN
overwrite-settings: true
job-status: success
token: ***
env:
ACTIONS_STEP_DEBUG: true
ACTIONS_RUNNER_DEBUG: true
TZ: UTC
Installed distributions
Trying to resolve the latest version from remote
Error: Unsupported architecture for IBM Semeru: arm64, the following are supported: x64, x86, ppc64le, ppc64, s[3](https://github.com/pgjdbc/pgjdbc/actions/runs/7002337194/job/19045932738#step:4:3)90x, aarch6[4](https://github.com/pgjdbc/pgjdbc/actions/runs/7002337194/job/19045932738#step:4:4)
Task version:
Download action repository 'actions/setup-java@v3' (SHA:0ab4596768b603586c0de567f2430c30f5b0d2b0)
Platform:
- [x] Ubuntu
- [ ] macOS
- [ ] Windows
Runner type:
- [ ] Hosted
- [x] Self-hosted
Expected behavior:
JDK should install.
Actual behavior:
Resolution fails with Unsupported architecture for IBM Semeru: arm64, the following are supported: x64, x86, ppc64le, ppc64, s390x, aarch64
Hi, @vlsi 👋 Thanks for the issue, we will take a look!
@vlsi, actually, Semeru supports only these types of architectures: x64, x86, ppc64le, ppc64, s390x, aarch64. You can check it on their official web-site: https://developer.ibm.com/languages/java/semeru-runtimes/downloads/. I think that in your case, you may use aarch64 which is basically the same as arm64. I'm closing this issue now, if you have any additional questions feel free to reach out.
@IvanZosimov , could you please double-check?
The issue is that setup-java action attetempts to use arm64 by default.
In other words: the documentation for actions/setup-java reads that the default architecture is derived from the runner machine.
In practice, actions/setup-java fails if running at arm64 machine and installing semeru.
The root cause is that nodejs returns arm64 while the action misses to treat it as aarch64.
@IvanZosimov , check this: https://github.com/actions/setup-java/blob/9eda6b51cc4f6ee99be3dd5537b85e389e47bda9/src/distributions/microsoft/installer.ts#L51-L52
microsoft/installer.ts uses this.distributionArchitecture() which makes arm64 -> aarch64 conversion: https://github.com/actions/setup-java/blob/9eda6b51cc4f6ee99be3dd5537b85e389e47bda9/src/distributions/base-installer.ts#L190-L191
The conversion is missing in semeru/installer.ts, so it causes semeru installation failure.
Thanks for clarification, @vlsi I'll check that and get back to you with updates.
@IvanZosimov any update on this? still occurs today
Hello @vlsi,
We have addressed this issue in PR #677. Please verify if this resolves your concern. Please feel free to reach out to us for any other issues.