Skip to content

Commit eb8bfe4

Browse files
committed
ci: add validation for C++ interoperability
1 parent 35fd393 commit eb8bfe4

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

.github/workflows/pull_request.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,48 @@ jobs:
176176
- name: Swift Test
177177
run: "swift test"
178178

179+
test-swift-cxx-interop:
180+
name: Test (Swift, C++ Interop) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}})
181+
runs-on: ubuntu-latest
182+
strategy:
183+
fail-fast: false
184+
matrix:
185+
swift_version: ['6.2', 'nightly']
186+
os_version: ['jammy']
187+
jdk_vendor: ['corretto']
188+
container:
189+
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
190+
env:
191+
SWIFT_JAVA_VERBOSE: true
192+
steps:
193+
- uses: actions/checkout@v4
194+
- name: Prepare CI Environment
195+
uses: ./.github/actions/prepare_env
196+
- name: Swift Build with C++ Interoperability
197+
run: swift build --build-tests --disable-sandbox --disable-experimental-prebuilts -Xswiftc -cxx-interoperability-mode=default
198+
- name: Swift Test with C++ Interoperability
199+
run: swift test --disable-experimental-prebuilts -Xswiftc -cxx-interoperability-mode=default
200+
201+
test-swift-cxx-interop-macos:
202+
name: Test (Swift, C++ Interop) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}})
203+
runs-on: [self-hosted, macos, sequoia, ARM64]
204+
strategy:
205+
fail-fast: false
206+
matrix:
207+
swift_version: ['6.2']
208+
os_version: ['macos']
209+
jdk_vendor: ['corretto']
210+
env:
211+
SWIFT_JAVA_VERBOSE: true
212+
steps:
213+
- uses: actions/checkout@v4
214+
- name: Prepare CI Environment
215+
uses: ./.github/actions/prepare_env
216+
- name: Swift Build with C++ Interoperability
217+
run: swift build --build-tests --disable-sandbox -Xswiftc -cxx-interoperability-mode=default
218+
- name: Swift Test with C++ Interoperability
219+
run: swift test -Xswiftc -cxx-interoperability-mode=default
220+
179221
build-swift-android:
180222
name: Sample SwiftJavaExtractJNISampleApp (Android) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} android:${{matrix.sdk_triple}})
181223
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)