@@ -2,9 +2,9 @@ name: test
22
33on :
44 push :
5- branches : [main]
5+ branches : [ main ]
66 pull_request :
7- branches : [main]
7+ branches : [ main ]
88
99permissions :
1010 contents : read
@@ -14,121 +14,19 @@ concurrency:
1414 cancel-in-progress : true
1515
1616jobs :
17- macos :
18- name : macOS
19- runs-on : macos-26
20- steps :
21- - name : Checkout code
22- uses : actions/checkout@v6
23- - name : Run tests
24- run : swift test
25-
26- darwin :
27- name : ${{ matrix.name }}
28- runs-on : macos-26
29- strategy :
30- fail-fast : false
31- matrix :
32- include :
33- - name : iOS
34- destination : platform=iOS Simulator,OS=latest,name=iPhone 16 Pro
35- - name : tvOS
36- destination : platform=tvOS Simulator,OS=latest,name=Apple TV 4K (3rd generation)
37- - name : watchOS
38- destination : platform=watchOS Simulator,OS=latest,name=Apple Watch Series 10 (46mm)
39- - name : visionOS
40- destination : platform=visionOS Simulator,OS=latest,name=Apple Vision Pro
41- steps :
42- - name : Checkout code
43- uses : actions/checkout@v6
44- - name : Run tests
45- run : |
46- xcodebuild test \
47- -scheme compression \
48- -destination '${{ matrix.destination }}'
49- linux :
50- name : Linux (${{ matrix.name }})
51- strategy :
52- fail-fast : false
53- matrix :
54- include :
55- - name : " 6.3"
56- container : " swift:6.3"
57- test-args : " -Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
58- - name : " nightly-main"
59- container : " swiftlang/swift:nightly-main-jammy"
60- test-args : " "
61- runs-on : ubuntu-latest
62- container : ${{ matrix.container }}
63- steps :
64- - name : Checkout code
65- uses : actions/checkout@v6
66- - name : Run tests
67- run : swift test ${{ matrix.test-args }}
68-
69- linux-musl :
70- runs-on : ubuntu-latest
71- container : swift:6.3
72- steps :
73- - name : Checkout code
74- uses : actions/checkout@v6
75- - name : Install Swift SDK for Linux Musl
76- run : |
77- version_num="$(swiftc --version | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -1)"
78- tag="swift-${version_num}-RELEASE"
79- sdk_info="$(curl -s https://www.swift.org/api/v1/install/releases.json | jq -r --arg tag "$tag" '.[] | select(.tag == $tag).platforms[] | select(.platform == "static-sdk") | [.version, .checksum] | @tsv')"
80- version="$(echo "$sdk_info" | cut -f1)"
81- checksum="$(echo "$sdk_info" | cut -f2)"
82- swift sdk install "https://download.swift.org/$(echo $tag | tr [A-Z] [a-z])/static-sdk/$tag/${tag}_static-linux-${version}.artifactbundle.tar.gz" --checksum "$checksum"
83- - name : Build for Linux Musl
84- run : swift build --swift-sdk x86_64-swift-linux-musl
85-
86- wasm :
87- runs-on : ubuntu-latest
88- container : swift:6.3
89- steps :
90- - name : Checkout code
91- uses : actions/checkout@v6
92- - name : Install WebAssembly SDK
93- run : |
94- apt-get update -y -q && apt-get install -y -q curl jq
95- tag="$(swiftc --version | grep -Po '(?<=\().+(?=\))')"
96- checksum="$(curl -s https://www.swift.org/api/v1/install/releases.json | \
97- jq -r --arg tag "$tag" '.[] | select(.tag == $tag).platforms[] | select(.platform == "wasm-sdk").checksum // empty')"
98- swift sdk install https://download.swift.org/$(echo $tag | tr [A-Z] [a-z])/wasm-sdk/$tag/${tag}_wasm.artifactbundle.tar.gz --checksum "$checksum"
99- - name : Build for WebAssembly
100- run : swift build --swift-sdk wasm32-unknown-wasi
101-
102- windows :
103- strategy :
104- fail-fast : false
105- matrix :
106- swift-version :
107- - 6.3
108- runs-on : windows-latest
109- steps :
110- - name : Checkout code
111- uses : actions/checkout@v6
112- - name : Setup Swift for Windows
113- uses : compnerd/gha-setup-swift@main
114- with :
115- branch : swift-${{ matrix.swift-version }}-release
116- tag : ${{ matrix.swift-version }}-RELEASE
117- - name : Build and test
118- run : swift test
119-
120- android :
121- strategy :
122- fail-fast : false
123- matrix :
124- swift-version :
125- - 6.3
126- runs-on : ubuntu-latest
127- steps :
128- - name : Checkout code
129- uses : actions/checkout@v6
130- - name : Setup Swift for Android
131- uses : skiptools/swift-android-action@v2
132- with :
133- swift-version : ${{ matrix.swift-version }}
134- free-disk-space : true
17+ tests :
18+ uses : swiftlang/github-workflows/.github/workflows/swift_package_test.yml@0.0.11
19+ with :
20+ linux_swift_versions : " [\" 6.3\" , \" nightly-main\" ]"
21+ linux_build_command : " swift test --explicit-target-dependency-import-check error"
22+ enable_linux_static_sdk_build : true
23+ linux_static_sdk_versions : " [\" 6.3\" ]"
24+ enable_wasm_sdk_build : true
25+ wasm_sdk_versions : " [\" 6.3\" ]"
26+ windows_swift_versions : " [\" 6.3\" ]"
27+ enable_android_sdk_build : true
28+ android_sdk_versions : " [\" 6.3\" ]"
29+ enable_macos_checks : true
30+ enable_ios_checks : true
31+ enable_freebsd_checks : true
32+ enable_embedded_wasm_sdk_build : true
0 commit comments