-
Notifications
You must be signed in to change notification settings - Fork 18
56 lines (49 loc) · 1.86 KB
/
ci.yml
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
51
52
53
54
55
56
name: CI
on: ["push", "pull_request"]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
jdk: ['17', '21']
scala: ['2.13', '3.3', '3.4', '3.5']
include:
- scala: '2.13'
scala-version: 2.13.9
- scala: '3.3'
scala-version: 3.3.4 # LTS
- scala: '3.4'
scala-version: 3.4.3
- scala: '3.5'
scala-version: 3.5.0
steps:
# skip the (jdk=21, scala=2.13) combination, which has issues
- uses: actions/checkout@v4
if: ${{ !(startsWith(matrix.jdk, '21') && startsWith(matrix.scala, '2.13')) }}
- uses: actions/setup-java@v4
if: ${{ !(startsWith(matrix.jdk, '21') && startsWith(matrix.scala, '2.13')) }}
with:
distribution: temurin
java-version: ${{ matrix.jdk }}
- name: Check and compile
if: ${{ !(startsWith(matrix.jdk, '21') && startsWith(matrix.scala, '2.13')) }}
run: sbt ++${{ matrix.scala-version }} scalafmtCheckAll compile
- name: Test
if: ${{ !(startsWith(matrix.jdk, '21') && startsWith(matrix.scala, '2.13')) }}
run: >
if [[ "${{ matrix.scala }}" =~ ^2\..* ]]; then
sbt ++${{ matrix.scala-version }} coverage genCode test;
else
sbt ++${{ matrix.scala-version }} genCode test;
fi
- name: Assembly
if: ${{ !(startsWith(matrix.jdk, '21') && startsWith(matrix.scala, '2.13')) }}
run: sbt ++${{ matrix.scala-version }} assembly
# Coveralls only "once":
- name: Coveralls
if: startsWith(matrix.jdk, '17') && startsWith(matrix.scala, '2.13')
run: sbt ++${{ matrix.scala-version }} coverageAggregate coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: Scala ${{ matrix.scala }}