Add support for ubuntu-22.04-arm64 and ubuntu-24.04-arm64

This commit is contained in:
Benoit Daloze
2025-01-18 23:33:18 +01:00
parent f72249c5c9
commit fbaef13682
4 changed files with 36 additions and 3 deletions
+10 -1
View File
@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, macos-15, windows-2019, windows-2022, windows-2025 ]
os: [ ubuntu-20.04, ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm, macos-13, macos-14, macos-15, windows-2019, windows-2022, windows-2025 ]
ruby: [
'1.9', '2.0', '2.1', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', '3.4', ruby-head,
jruby, jruby-head,
@@ -54,6 +54,15 @@ jobs:
- { os: macos-15, ruby: '2.3' }
- { os: macos-15, ruby: '2.4' }
- { os: macos-15, ruby: '2.5' }
# These old Rubies fail to compile or segfault on Linux arm64
- { os: ubuntu-22.04-arm, ruby: '1.9' }
- { os: ubuntu-22.04-arm, ruby: '2.0' }
- { os: ubuntu-22.04-arm, ruby: '2.1' }
- { os: ubuntu-22.04-arm, ruby: '2.2' }
- { os: ubuntu-24.04-arm, ruby: '1.9' }
- { os: ubuntu-24.04-arm, ruby: '2.0' }
- { os: ubuntu-24.04-arm, ruby: '2.1' }
- { os: ubuntu-24.04-arm, ruby: '2.2' }
# Windows (note: previews are not available on Windows)
- { os: windows-2019, ruby: '1.9' }
- { os: windows-2022, ruby: '1.9' }
+2
View File
@@ -165,7 +165,9 @@ export async function hashFile(file) {
const GitHubHostedPlatforms = [
'ubuntu-20.04-x64',
'ubuntu-22.04-x64',
'ubuntu-22.04-arm64',
'ubuntu-24.04-x64',
'ubuntu-24.04-arm64',
'windows-2019-x64',
'windows-2022-x64',
'windows-2025-x64',
Generated Vendored
+13 -1
View File
@@ -484,7 +484,9 @@ async function hashFile(file) {
const GitHubHostedPlatforms = [
'ubuntu-20.04-x64',
'ubuntu-22.04-x64',
'ubuntu-22.04-arm64',
'ubuntu-24.04-x64',
'ubuntu-24.04-arm64',
'windows-2019-x64',
'windows-2022-x64',
'windows-2025-x64',
@@ -74085,7 +74087,7 @@ async function downloadAndExtract(platform, engine, version, rubyPrefix) {
}
function getDownloadURL(platform, engine, version) {
let builderPlatform = platform
let builderPlatform = null
if (platform.startsWith('windows-') && os.arch() === 'x64') {
builderPlatform = 'windows-latest'
} else if (platform.startsWith('macos-')) {
@@ -74094,6 +74096,16 @@ function getDownloadURL(platform, engine, version) {
} else if (os.arch() === 'arm64') {
builderPlatform = 'macos-13-arm64'
}
} else if (platform.startsWith('ubuntu-')) {
if (os.arch() === 'x64') {
builderPlatform = platform
} else if (os.arch() === 'arm64') {
builderPlatform = `${platform}-arm64`
}
}
if (builderPlatform === null) {
throw new Error(`Unknown download URL for platform ${platform}`)
}
if (common.isHeadVersion(version)) {
+11 -1
View File
@@ -91,7 +91,7 @@ async function downloadAndExtract(platform, engine, version, rubyPrefix) {
}
function getDownloadURL(platform, engine, version) {
let builderPlatform = platform
let builderPlatform = null
if (platform.startsWith('windows-') && os.arch() === 'x64') {
builderPlatform = 'windows-latest'
} else if (platform.startsWith('macos-')) {
@@ -100,6 +100,16 @@ function getDownloadURL(platform, engine, version) {
} else if (os.arch() === 'arm64') {
builderPlatform = 'macos-13-arm64'
}
} else if (platform.startsWith('ubuntu-')) {
if (os.arch() === 'x64') {
builderPlatform = platform
} else if (os.arch() === 'arm64') {
builderPlatform = `${platform}-arm64`
}
}
if (builderPlatform === null) {
throw new Error(`Unknown download URL for platform ${platform}`)
}
if (common.isHeadVersion(version)) {