-
Notifications
You must be signed in to change notification settings - Fork 29
50 lines (45 loc) · 1.29 KB
/
test.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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: [11, 17, 21]
env:
JAVA_OPTS: -Xmx4g
steps:
- uses: actions/checkout@v3
- uses: coursier/cache-action@v6
continue-on-error: true
- uses: actions/setup-java@v3
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