WIP: Initial macOS CI, start with swift testing #627
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: Java tests (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
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 | |
- name: Gradle compile JMH benchmarks | |
run: ./gradlew compileJmh --info | |
# macos-tests: | |
# name: macOS tests | |
# # Workaround https://github.com/nektos/act/issues/1875 | |
# uses: swiftlang/swift-java/.github/workflows/macos_tests.yml@wip-macos-ci | |
# with: | |
# build_scheme: SwiftJava-Package | |
macos-tests-selfhosted: | |
name: Swift tests (macOS Sequoia ARM64) | |
runs-on: [self-hosted, macos, sequoia, ARM64] | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build and Test | |
run: swift test | |
timeout-minutes: 20 | |
test-swift: | |
name: Swift tests (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
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-sample-01: | |
name: Verify Sample JavaDependencySampleApp (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify Sample: JavaDependencySampleApp" | |
run: .github/scripts/validate_sample.sh Samples/JavaDependencySampleApp | |
verify-sample-02: | |
name: Verify Sample JavaKitSampleApp (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify Sample" | |
run: .github/scripts/validate_sample.sh Samples/JavaKitSampleApp | |
verify-sample-03: | |
name: Verify Sample JavaProbablyPrime (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify Sample" | |
run: .github/scripts/validate_sample.sh Samples/JavaProbablyPrime | |
verify-sample-04: | |
name: Verify Sample JavaSieve (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify Sample" | |
run: .github/scripts/validate_sample.sh Samples/JavaSieve | |
verify-sample-05: | |
name: Verify Sample SwiftAndJavaJarSampleLib (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify Sample" | |
run: .github/scripts/validate_sample.sh Samples/SwiftAndJavaJarSampleLib | |
verify-sample-06: | |
name: Verify Sample SwiftKitSampleApp (swift:${{ matrix.swift_version }} jdk:${{matrix.jdk_vendor}} os:${{ matrix.os_version }}) | |
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: | |
JAVA_HOME: "/usr/lib/jvm/default-jdk" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare CI Environment | |
uses: ./.github/actions/prepare_env | |
- name: "Verify Sample" | |
run: .github/scripts/validate_sample.sh Samples/SwiftKitSampleApp | |
# TODO: Benchmark compile crashes in CI, enable when nightly toolchains in better shape. | |
# - name: Build (Swift) Benchmarks | |
# run: "swift package --package-path Benchmarks/ benchmark list" |