Skip to content

Commit 303b109

Browse files
committed
Add support for Linux on aarch64
1 parent 69624bd commit 303b109

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

.github/workflows/pull_request.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
with:
2727
# Linux
2828
linux_os_versions: '["jammy", "rhel-ubi9", "amazonlinux2"]'
29+
linux_archs: '["x86_64", "aarch64"]'
2930
linux_build_command: |
3031
cd tests/TestPackage
3132
swift build

.github/workflows/swift_package_test.yml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ on:
5050
type: string
5151
description: "Linux OS version list (JSON)"
5252
default: "[\"jammy\"]"
53+
linux_host_archs:
54+
type: string
55+
description: "Linux arch list (JSON)"
56+
default: "[\"x86_64\"]"
5357
linux_static_sdk_versions:
5458
type: string
5559
description: "Static Linux Swift SDK version list (JSON)"
@@ -295,16 +299,22 @@ jobs:
295299
timeout-minutes: 60
296300

297301
linux-build:
298-
name: Linux (${{ matrix.swift_version }} - ${{ matrix.os_version }})
302+
name: Linux (${{ matrix.swift_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
299303
if: ${{ inputs.enable_linux_checks }}
300-
runs-on: ubuntu-latest
304+
runs-on: ${{ matrix.runner }}
301305
strategy:
302306
fail-fast: false
303307
matrix:
304308
swift_version: ${{ fromJson(inputs.linux_swift_versions) }}
305309
os_version: ${{ fromJson(inputs.linux_os_versions) }}
310+
arch: ${{ fromJson(inputs.linux_host_archs) }}
306311
exclude:
307312
- ${{ fromJson(inputs.linux_exclude_swift_versions) }}
313+
include:
314+
- arch: x86_64
315+
runner: ubuntu-24.04
316+
- arch: aarch64
317+
runner: ubuntu-24.04-arm
308318
container:
309319
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
310320
steps:
@@ -361,16 +371,22 @@ jobs:
361371
run: ${{ inputs.linux_build_command }} ${{ (contains(matrix.swift_version, 'nightly') && inputs.swift_nightly_flags) || inputs.swift_flags }}
362372

363373
linux-static-sdk-build:
364-
name: Static Linux Swift SDK Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
374+
name: Static Linux Swift SDK Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
365375
if: ${{ inputs.enable_linux_static_sdk_build }}
366-
runs-on: ubuntu-latest
376+
runs-on: ${{ matrix.runner }}
367377
strategy:
368378
fail-fast: false
369379
matrix:
370380
swift_version: ${{ fromJson(inputs.linux_static_sdk_versions) }}
371381
os_version: ${{ fromJson(inputs.linux_os_versions) }}
382+
arch: ${{ fromJson(inputs.linux_host_archs) }}
372383
exclude:
373384
- ${{ fromJson(inputs.linux_static_sdk_exclude_swift_versions) }}
385+
include:
386+
- arch: x86_64
387+
runner: ubuntu-24.04
388+
- arch: aarch64
389+
runner: ubuntu-24.04-arm
374390
container:
375391
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
376392
steps:

0 commit comments

Comments
 (0)