ci: simplistic way to get macOS running #642
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'] | ||
jdk_version: | # install JDK21 for Gradle to use, and 24 for our runtime; 21 must be last to be "default" JAVA_HOME | ||
24 | ||
21 | ||
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 | ||
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'] | ||
jdk_version: ['24'] | ||
jdk_version_gradle: ['21'] | ||
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 | ||
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'] | ||
jdk_version: ['24'] | ||
jdk_version_gradle: ['21'] | ||
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" | ||
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'] | ||
jdk_version: ['24'] | ||
jdk_version_gradle: ['21'] | ||
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-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'] | ||
jdk_version: ['24'] | ||
jdk_version_gradle: ['21'] | ||
sample_app: [ | ||
'JavaDependencySampleApp', | ||
'JavaKitSampleApp', | ||
'JavaProbablyPrime', | ||
'JavaSieve', | ||
'SwiftAndJavaJarSampleLib', | ||
'SwiftKitSampleApp', | ||
] | ||
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/${{ 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'] | ||
jdk_version: ['24'] | ||
jdk_version_gradle: ['21'] | ||
sample_app: [ | ||
'JavaDependencySampleApp', | ||
'JavaKitSampleApp', | ||
'JavaProbablyPrime', | ||
'JavaSieve', | ||
'SwiftAndJavaJarSampleLib', | ||
'SwiftKitSampleApp', | ||
] | ||
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/${{ matrix.sample_app }} |