Skip to content

openapi (internal): Do not use runtime-reflection in UnionCodec to fix flaky tests #4898

openapi (internal): Do not use runtime-reflection in UnionCodec to fix flaky tests

openapi (internal): Do not use runtime-reflection in UnionCodec to fix flaky tests #4898

Workflow file for this run

name: CI
on:
pull_request:
paths:
- '**.scala'
- '**.java'
- '**.sbt'
- '.scalafmt.conf'
- '.github/workflows/test.yml'
- 'project/build.properties'
push:
branches:
- master
paths:
- '**.scala'
- '**.java'
- '**.sbt'
- '.scalafmt.conf'
- '.github/workflows/test.yml'
- 'project/build.properties'
jobs:
code_format:
name: Code format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: scalafmt
run: ./sbt scalafmtCheckAll
- name: scalafmt in Scala 3
run: DOTTY=true ./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@v3
- 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@v3
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
test_2_13:
name: Scala 2.13
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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@v3
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
test_2_13_legacy_jdk:
name: Scala 2.13 + JDK11
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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@v3
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
test_2_13_latest_jdk:
name: Scala 2.13 + JDK20
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '20'
- name: Scala 2.13 + JDK20 test
run: ./sbt ++2.13 projectJVM/test
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
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 + JDK20
test_3:
name: Scala 3.x (Dotty)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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@v3
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
test_integration:
name: Scala 3 integration test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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@v3
if: always() # always run even if the previous step fails
with:
report_paths: '**/target/test-reports/TEST-*.xml'
check_name: Test Report Integration Test
test_js:
name: Scala.js / Scala 2.12
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/setup-node@v3
with:
node-version: '18'
- 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@v3
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
test_js_2_13:
name: Scala.js / Scala 2.13
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/setup-node@v3
with:
node-version: '18'
- 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@v3
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
test_js_3:
name: Scala.js / Scala 3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- uses: actions/setup-node@v3
with:
node-version: '18'
- 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@v3
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
test_airspec:
name: AirSpec
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- 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@v3
if: always() # always run even if the previous step fails
with:
report_paths: '**/target/test-reports/TEST-*.xml'
check_name: Test Report AirSpec