cross-test-core #78
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: cross-test-core | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-latest, macos-latest, ubuntu-latest] | |
java-version: [11, 17] | |
scala-version: ['2.11', '2.12', '2.13'] | |
env: | |
JAVA_OPTS: -Xmx4g | |
SCALA_VERSION: ${{ matrix.scala-version }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: coursier/cache-action@v6 | |
continue-on-error: true | |
- uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java-version}} | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16' | |
- name: install jsdom | |
run: npm install jsdom | |
- name: Run tests | |
continue-on-error: true | |
run: | | |
sbt "set ThisBuild / Test / parallelExecution := false" rescalaCore/compile rescalaCore/Test/compile rescalaCore/testQuick | |
# the idea here is, that we first do compile, Test / compile, testQuick sequentially, so if compilation fails on some sub project we abort early without half starting tests on some other sub project. However, sometimes compilation or testing fails spuriously, so we just do it again, which should fix most of the spurious compilation failures, and also may try to reexecute some of the spurious tests. As this keeps the incremental sbt cache, if the first one succeeds, the second one should be essentially for free. | |
- name: Run tests again for added reliability | |
run: | | |
sbt "set ThisBuild / Test / parallelExecution := false" rescalaCore/compile rescalaCore/Test/compile rescalaCore/testQuick |