feature: Support JDK21 release version #5151
Workflow file for this run
This file contains 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: CI | |
on: | |
pull_request: | |
paths: | |
- '**.scala' | |
- '**.java' | |
- '**.sbt' | |
- '.scalafmt.conf' | |
- '.github/workflows/test.yml' | |
- 'project/build.properties' | |
- AIRSPEC_VERSION | |
push: | |
branches: | |
- main | |
paths: | |
- '**.scala' | |
- '**.java' | |
- '**.sbt' | |
- '.scalafmt.conf' | |
- '.github/workflows/test.yml' | |
- 'project/build.properties' | |
- AIRSPEC_VERSION | |
jobs: | |
code_format: | |
name: Code format | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: scalafmt in Scala 2.x | |
run: ./sbt "++ 2.13; scalafmtCheckAll" | |
- name: scalafmt in Scala 3 | |
run: ./sbt scalafmtCheckAll | |
- name: scalafmt airspec | |
run: ../sbt scalafmtCheckAll | |
working-directory: ./airspec | |
- name: scalafmt sbt-airframe | |
run: ./sbt scalafmtCheckAll | |
working-directory: ./sbt-airframe | |
test_2_12: | |
name: Scala 2.12 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Scala 2.12 test | |
run: ./sbt "++2.12; projectJVM/test" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala 2.12 | |
annotate_only: true | |
detailed_summary: true | |
test_2_13: | |
name: Scala 2.13 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Scala 2.13 test | |
run: ./sbt "++2.13; projectJVM/test" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala 2.13 | |
annotate_only: true | |
detailed_summary: true | |
test_2_13_legacy_jdk: | |
name: Scala 2.13 + JDK11 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Scala 2.13 + JDK11 test | |
run: ./sbt ++2.13 projectJVM/test | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala 2.13 + JDK11 | |
annotate_only: true | |
detailed_summary: true | |
test_2_13_latest_jdk: | |
name: Scala 2.13 + JDK21 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'zulu' | |
java-version: '21' | |
- name: Scala 2.13 + JDK21 test | |
run: ./sbt ++2.13 projectJVM/test | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala 2.13 + JDK21 | |
annotate_only: true | |
detailed_summary: true | |
test_3: | |
name: Scala 3.x (Dotty) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Scala 3.x test | |
# Test only Scala 3 supported projects | |
run: ./sbt "++ 3; projectDotty/test; dottyTest/run" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala 3.x | |
annotate_only: true | |
detailed_summary: true | |
test_integration: | |
name: Scala 3 integration test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Scala 3 integration test | |
run: ./sbt "++ 3; integrationTest/test" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Integration Test | |
annotate_only: true | |
detailed_summary: true | |
test_js: | |
name: Scala.js / Scala 2.12 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
- name: Node.js setup | |
run: ./scripts/setup-scalajs.sh | |
- name: Scala.js test | |
run: JVM_OPTS=-Xmx4g ./sbt "++ 2.12; projectJS/test" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala.js / Scala 2.12 | |
annotate_only: true | |
detailed_summary: true | |
test_js_2_13: | |
name: Scala.js / Scala 2.13 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
- name: Node.js setup | |
run: ./scripts/setup-scalajs.sh | |
- name: Scala.js test | |
run: JVM_OPTS=-Xmx4g ./sbt "++ 2.13; projectJS/test" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala.js / Scala 2.13 | |
annotate_only: true | |
detailed_summary: true | |
test_js_3: | |
name: Scala.js / Scala 3 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
- name: Node.js setup | |
run: ./scripts/setup-scalajs.sh | |
- name: Scala.js test | |
run: JVM_OPTS=-Xmx4g ./sbt "++ 3; projectJS/test" | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report Scala.js / Scala 3 | |
annotate_only: true | |
detailed_summary: true | |
test_airspec: | |
name: AirSpec | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Scala JVM and Scala.js Test | |
run: ../sbt "++airspecJVM/test; ++airspecJS/test" | |
working-directory: ./airspec | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
check_name: Test Report AirSpec | |
annotate_only: true | |
detailed_summary: true |