Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support GitHub-hosted ubuntu arm64 runners #689

Closed
ntkme opened this issue Jan 16, 2025 · 5 comments
Closed

Support GitHub-hosted ubuntu arm64 runners #689

ntkme opened this issue Jan 16, 2025 · 5 comments
Assignees

Comments

@ntkme
Copy link
Contributor

ntkme commented Jan 16, 2025

https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

GitHub added public arm64 runners today. Currently it fails with the following error:

Error: The current runner (ubuntu-24.04-arm64) was detected as self-hosted because the platform does not match a GitHub-hosted runner image (or that image is deprecated and no longer supported).

There are two runners available:

– ubuntu-24.04-arm
– ubuntu-22.04-arm

We need to create build on these runners with https://github.com/ruby/ruby-builder, and then add support in this repo.

Failed run:

https://github.com/sass-contrib/sass-embedded-host-ruby/actions/runs/12814387717

@ntkme
Copy link
Contributor Author

ntkme commented Jan 16, 2025

While CRuby is missing linux-arm builds, JRuby and TruffleRuby are failing for something different:

Error: Error: versionSpec parameter is required
    at Object.find (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:9042:15)
    at Module.toolCacheFind (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:[6](https://github.com/sass-contrib/sass-embedded-host-ruby/actions/runs/12814387717/job/35730693868#step:6:7)30:15)
    at Module.install (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:64968:26)
    at setupRuby (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65[7](https://github.com/sass-contrib/sass-embedded-host-ruby/actions/runs/12814387717/job/35730693868#step:6:8)99:38)
    at run (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65745:11)
    at /home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65944:40
    at /home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65946:3
    at Object.<anonymous> (/home/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65949:12)
    at Module._compile (node:internal/modules/cjs/loader:1469:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:154[8](https://github.com/sass-contrib/sass-embedded-host-ruby/actions/runs/12814387717/job/35730693868#step:6:9):10)

Supposedly JRuby and TruffleRuby both have linux arm64 support as of today so they should not fail.

@ntkme
Copy link
Contributor Author

ntkme commented Jan 16, 2025

With a closer look, JRuby and TruffleRuby's problem is more or less the same as CRuby. The error was caused by incorrectly detecting GitHub hosted runner as a self-hosted runner, thus not able to get version available:

setup-ruby/index.js

Lines 61 to 68 in 868b3f0

let version
if (common.isSelfHostedRunner()) {
// The list of available Rubies in the hostedtoolcache is unrelated to getAvailableVersions()
version = parsedVersion
} else {
const engineVersions = installer.getAvailableVersions(platform, engine)
version = validateRubyEngineAndVersion(platform, engineVersions, engine, parsedVersion)
}

@ntkme ntkme changed the title Support ubuntu arm64 runners Support ubuntu arm64 GitHub-hosted runners Jan 16, 2025
@ntkme ntkme changed the title Support ubuntu arm64 GitHub-hosted runners Support GitHub-hosted ubuntu arm64 runners Jan 16, 2025
@eregon
Copy link
Member

eregon commented Jan 16, 2025

I'm usually not a fan of "duplicated" (or almost) issues but this one is well-phrased and a good summary, thanks!
I'll just close this and #577 when it's all done then.

@eregon
Copy link
Member

eregon commented Jan 18, 2025

Current status/self notes:

@eregon
Copy link
Member

eregon commented Jan 18, 2025

Done in https://github.com/ruby/setup-ruby/releases/tag/v1.213.0

@eregon eregon closed this as completed Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants