Prepare for Linux build and CI #17
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 | ||
Check failure on line 9 in .github/workflows/pull_request.yml
|
||
with: | ||
api_breakage_check_enabled: false | ||
test-java: | ||
name: Java tests (${{ matrix.swift_version }} - ${{ matrix.os_version }}) | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
swift_version: [ nightly-main' ] | ||
os_version: [ 'jammy' ] | ||
container: | ||
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} | ||
env: | ||
JAVA_HOME: "/usr/lib/jvm/openjdk-23" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Make | ||
run: apt update && apt install -y make | ||
- name: Install JDK | ||
run: "./scripts/install_jdk.sh" | ||
# TODO: not using setup-java since incompatible with the swiftlang/swift base image | ||
# - uses: actions/setup-java@v4 | ||
# with: | ||
# distribution: 'zulu' | ||
# java-version: '22' | ||
# cache: 'gradle' | ||
- name: Generate sources (make) (Temporary) | ||
# TODO: this should be triggered by the respective builds | ||
run: make jextract-run | ||
- name: Gradle build | ||
run: ./gradlew build --no-daemon | ||
test-swift: | ||
name: Swift tests (${{ matrix.swift_version }} - ${{ matrix.os_version }}) | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
swift_version: [ '6.0' ] | ||
os_version: [ 'jammy' ] | ||
container: | ||
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Make | ||
run: apt update && apt install -y make | ||
- name: Install JDK | ||
run: "./scripts/install_jdk.sh" | ||
- name: Generate sources (make) (Temporary) | ||
# TODO: this should be triggered by the respective builds | ||
run: "make jextract-run" | ||
- name: Test Swift | ||
run: "swift test" |