@@ -15,18 +15,37 @@ jobs:
1515 license_header_check_project_name : Swift.org
1616
1717 test-java :
18- name : Java tests (swift: ${{ matrix.swift_version }} jdk :${{matrix.jdk_vendor }} os :${{ matrix.os_version }})
18+ name : Test ( Java) ( ${{ matrix.os_version }} swift :${{ matrix.swift_version }} jdk :${{matrix.jdk_vendor }})
1919 runs-on : ubuntu-latest
2020 strategy :
2121 fail-fast : true
2222 matrix :
2323 swift_version : ['6.1.2']
2424 os_version : ['jammy']
25- jdk_vendor : ['Corretto ']
25+ jdk_vendor : ['corretto ']
2626 container :
2727 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
2828 env :
29- JAVA_HOME : " /usr/lib/jvm/default-jdk"
29+ SWIFT_JAVA_VERBOSE : true
30+ steps :
31+ - uses : actions/checkout@v4
32+ - name : Prepare CI Environment
33+ uses : ./.github/actions/prepare_env
34+ - name : Gradle :SwiftKit:build
35+ run : ./gradlew build -x test
36+ - name : Gradle :SwiftKit:check
37+ run : ./gradlew :SwiftKit:check --info
38+
39+ test-java-macos :
40+ name : Test (Java) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}})
41+ runs-on : [self-hosted, macos, sequoia, ARM64]
42+ strategy :
43+ fail-fast : true
44+ matrix :
45+ swift_version : ['6.1.2']
46+ os_version : ['macos']
47+ jdk_vendor : ['corretto']
48+ env :
3049 SWIFT_JAVA_VERBOSE : true
3150 steps :
3251 - uses : actions/checkout@v4
@@ -36,22 +55,59 @@ jobs:
3655 run : ./gradlew build -x test
3756 - name : Gradle :SwiftKit:check
3857 run : ./gradlew :SwiftKit:check --debug
58+
59+ benchmark-java :
60+ name : Benchmark (JMH) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}})
61+ runs-on : ubuntu-latest
62+ strategy :
63+ fail-fast : true
64+ matrix :
65+ swift_version : ['6.1.2']
66+ os_version : ['jammy']
67+ jdk_vendor : ['corretto']
68+ container :
69+ image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
70+ env :
71+ SWIFT_JAVA_VERBOSE : true
72+ steps :
73+ - uses : actions/checkout@v4
74+ - name : Prepare CI Environment
75+ uses : ./.github/actions/prepare_env
3976 - name : Gradle compile JMH benchmarks
4077 run : ./gradlew compileJmh --info
4178
4279 test-swift :
43- name : Swift tests (swift: ${{ matrix.swift_version }} jdk :${{matrix.jdk_vendor }} os :${{ matrix.os_version }})
80+ name : Test ( Swift) ( ${{ matrix.os_version }} swift :${{ matrix.swift_version }} jdk :${{matrix.jdk_vendor }})
4481 runs-on : ubuntu-latest
4582 strategy :
4683 fail-fast : false
4784 matrix :
4885 swift_version : ['6.1.2']
4986 os_version : ['jammy']
50- jdk_vendor : ['Corretto ']
87+ jdk_vendor : ['corretto ']
5188 container :
5289 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
5390 env :
54- JAVA_HOME : " /usr/lib/jvm/default-jdk"
91+ SWIFT_JAVA_VERBOSE : true
92+ steps :
93+ - uses : actions/checkout@v4
94+ - name : Prepare CI Environment
95+ uses : ./.github/actions/prepare_env
96+ - name : Swift Build
97+ run : " swift build --build-tests --disable-sandbox"
98+ - name : Swift Test
99+ run : " swift test"
100+
101+ test-swift-macos :
102+ name : Test (Swift) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}})
103+ runs-on : [self-hosted, macos, sequoia, ARM64]
104+ strategy :
105+ fail-fast : false
106+ matrix :
107+ swift_version : ['6.1.2']
108+ os_version : ['macos']
109+ jdk_vendor : ['corretto']
110+ env :
55111 SWIFT_JAVA_VERBOSE : true
56112 steps :
57113 - uses : actions/checkout@v4
@@ -63,30 +119,58 @@ jobs:
63119 run : " swift test"
64120
65121 verify-samples :
66- name : Verify Sample ${{ matrix.sample_app }} (swift: ${{ matrix.swift_version }} jdk :${{matrix.jdk_vendor }} os :${{ matrix.os_version }})
122+ name : Sample ${{ matrix.sample_app }} (${{ matrix.os_version }} swift :${{ matrix.swift_version }} jdk :${{matrix.jdk_vendor }})
67123 runs-on : ubuntu-latest
68124 strategy :
69125 fail-fast : false
70126 matrix :
71127 swift_version : ['6.1.2']
72128 os_version : ['jammy']
73- jdk_vendor : ['Corretto ']
74- sample_app : [
129+ jdk_vendor : ['corretto ']
130+ sample_app : [ # TODO: use a reusable-workflow to generate those names
75131 ' JavaDependencySampleApp' ,
76132 ' JavaKitSampleApp' ,
77133 ' JavaProbablyPrime' ,
78134 ' JavaSieve' ,
79135 ' SwiftAndJavaJarSampleLib' ,
80136 ' SwiftKitSampleApp' ,
81- ' JExtractJNISampleApp'
137+ ' JExtractJNISampleApp' ,
82138 ]
83139 container :
84140 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
85- env :
86- JAVA_HOME : " /usr/lib/jvm/default-jdk"
87141 steps :
88142 - uses : actions/checkout@v4
89143 - name : Prepare CI Environment
90144 uses : ./.github/actions/prepare_env
91- - name : " Verify sample"
145+ - name : " Verify sample: ${{ matrix.sample_app }}"
146+ run : .github/scripts/validate_sample.sh Samples/${{ matrix.sample_app }}
147+
148+
149+ verify-samples-macos :
150+ name : Sample ${{ matrix.sample_app }} (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}})
151+ runs-on : [self-hosted, macos, sequoia, ARM64]
152+ strategy :
153+ fail-fast : false
154+ matrix :
155+ swift_version : ['6.1.2']
156+ os_version : ['macos']
157+ jdk_vendor : ['corretto']
158+ sample_app : [ # TODO: use a reusable-workflow to generate those names
159+ ' JavaDependencySampleApp' ,
160+ ' JavaKitSampleApp' ,
161+ ' JavaProbablyPrime' ,
162+ ' JavaSieve' ,
163+ ' SwiftAndJavaJarSampleLib' ,
164+ ' SwiftKitSampleApp' ,
165+ ' JExtractJNISampleApp' ,
166+ ]
167+ steps :
168+ - uses : actions/checkout@v4
169+ - name : Prepare CI Environment
170+ uses : ./.github/actions/prepare_env
171+ - name : Install Swiftly # we specifically install Swiftly in macOS jobs because we want a simpler way to find the right dylib paths for libraries
172+ run : ./.github/scripts/install_swiftly.sh
173+ env :
174+ SWIFT_VERSION : " ${{ matrix.swift_version }}"
175+ - name : " Verify sample ${{ matrix.sample_app }}"
92176 run : .github/scripts/validate_sample.sh Samples/${{ matrix.sample_app }}
0 commit comments