ci: simplistic way to get macOS running #674
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: Prepare the action | |
run: ./.github/scripts/prep-gh-action.sh --install-swiftly | |
- name: "Verify sample: ${{ matrix.sample_app }}" | |
run: .github/scripts/validate_sample.sh Samples/${{ matrix.sample_app }} | |
env: | |
SWIFT_VERSION: ${{ matrix.swift_version }} | |
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: "Verify sample ${{ matrix.sample_app }}" | |
run: .github/scripts/validate_sample.sh Samples/${{ matrix.sample_app }} |