[WIP] Separate SwiftKit into SwiftKitCore and SwiftKitFFM #687
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: pull_request | |
on: | |
pull_request: | |
types: [opened, reopened, synchronize] | |
jobs: | |
soundness: | |
uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main | |
with: | |
# Not API stable package (yet) | |
api_breakage_check_enabled: false | |
# FIXME: Something is off with the format task and it gets "stuck", need to investigate | |
format_check_enabled: false | |
license_header_check_project_name: Swift.org | |
test-java: | |
name: Test (Java) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['jammy'] | |
jdk_vendor: ['corretto'] | |
container: | |
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} | |
env: | |
SWIFT_JAVA_VERBOSE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: Gradle :SwiftKit:build | |
run: ./gradlew build -x test | |
- name: Gradle :SwiftKit:check | |
run: ./gradlew :SwiftKit:check --info | |
test-java-macos: | |
name: Test (Java) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: [self-hosted, macos, sequoia, ARM64] | |
strategy: | |
fail-fast: true | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['macos'] | |
jdk_vendor: ['corretto'] | |
env: | |
SWIFT_JAVA_VERBOSE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: Gradle :SwiftKit:build | |
run: ./gradlew build -x test | |
- name: Gradle :SwiftKit:check | |
run: ./gradlew :SwiftKit:check --debug | |
benchmark-java: | |
name: Benchmark (JMH) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['jammy'] | |
jdk_vendor: ['corretto'] | |
container: | |
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} | |
env: | |
SWIFT_JAVA_VERBOSE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: Gradle compile JMH benchmarks | |
run: ./gradlew compileJmh --info | |
test-swift: | |
name: Test (Swift) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['jammy'] | |
jdk_vendor: ['corretto'] | |
container: | |
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} | |
env: | |
SWIFT_JAVA_VERBOSE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: Swift Build | |
run: "swift build --build-tests --disable-sandbox" | |
- name: Swift Test | |
run: "swift test" | |
test-swift-macos: | |
name: Test (Swift) (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: [self-hosted, macos, sequoia, ARM64] | |
strategy: | |
fail-fast: false | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['macos'] | |
jdk_vendor: ['corretto'] | |
env: | |
SWIFT_JAVA_VERBOSE: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: Swift Build | |
run: "swift build --build-tests --disable-sandbox" | |
- name: Swift Test | |
run: "swift test" | |
verify-samples: | |
name: Sample ${{ matrix.sample_app }} (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['jammy'] | |
jdk_vendor: ['corretto'] | |
sample_app: [ # TODO: use a reusable-workflow to generate those names | |
'JavaDependencySampleApp', | |
'JavaKitSampleApp', | |
'JavaProbablyPrime', | |
'JavaSieve', | |
'SwiftAndJavaJarSampleLib', | |
'SwiftKitSampleApp', | |
'JExtractJNISampleApp', | |
] | |
container: | |
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify sample: ${{ matrix.sample_app }}" | |
run: .github/scripts/validate_sample.sh Samples/${{ matrix.sample_app }} | |
verify-samples-macos: | |
name: Sample ${{ matrix.sample_app }} (${{ matrix.os_version }} swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}}) | |
runs-on: [self-hosted, macos, sequoia, ARM64] | |
strategy: | |
fail-fast: false | |
matrix: | |
swift_version: ['6.1.2'] | |
os_version: ['macos'] | |
jdk_vendor: ['corretto'] | |
sample_app: [ # TODO: use a reusable-workflow to generate those names | |
'JavaDependencySampleApp', | |
'JavaKitSampleApp', | |
'JavaProbablyPrime', | |
'JavaSieve', | |
'SwiftAndJavaJarSampleLib', | |
'SwiftKitSampleApp', | |
'JExtractJNISampleApp', | |
] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: Install Swiftly # we specifically install Swiftly in macOS jobs because we want a simpler way to find the right dylib paths for libraries | |
run: ./.github/scripts/install_swiftly.sh | |
env: | |
SWIFT_VERSION: "${{ matrix.swift_version }}" | |
- name: "Verify sample ${{ matrix.sample_app }}" | |
run: .github/scripts/validate_sample.sh Samples/${{ matrix.sample_app }} |