keep build simple(ish) #270
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: test | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
ref: | |
description: 'checkout reference (sha/branch)' | |
required: false | |
type: string | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macOS-12, ubuntu-22.04, windows-2022] | |
java-version: [17, 21] | |
env: | |
JAVA_OPTS: -Xmx4g | |
steps: | |
- uses: actions/checkout@v4 | |
# - uses: coursier/cache-action@v6 | |
# continue-on-error: true | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java-version}} | |
distribution: 'zulu' | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
- name: install jsdom | |
run: npm install jsdom | |
# Compile all modules, before starting any tests. | |
# Compilation should not fail spuriously, therefore fail the overall test and don't retry compilation. | |
- name: Compile | |
run: sbt Test/compile | |
# Run tests once, but allow failures. | |
# Some tests may fail spuriously, therefore continue on error and retry with the next step | |
- name: Run tests | |
continue-on-error: true | |
run: sbt test | |
# Run all failed test cases, this time failing the overall test | |
- name: Run tests again for added reliability | |
run: sbt testQuick |