-
Notifications
You must be signed in to change notification settings - Fork 16
74 lines (68 loc) · 1.69 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
name: CI
env:
JDK_JAVA_OPTIONS: -XX:+PrintCommandLineFlags
on:
pull_request:
push:
branches: [ 'master' ]
release:
types:
- published
jobs:
lint:
runs-on: ubuntu-24.04
timeout-minutes: 30
steps:
- name: Checkout current branch
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
check-latest: true
- name: Setup sbt
uses: sbt/setup-sbt@v1
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Lint code
run: sbt ++3.3.4 check
test:
runs-on: ubuntu-24.04
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
java: [ '11', '17', '21' ]
scala: [ '3.3.4' ]
platform: [ 'JVM', 'JS' , 'Native' ]
steps:
- name: Checkout current branch
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.java }}
check-latest: true
- name: Setup sbt
uses: sbt/setup-sbt@v1
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Setup node
uses: actions/setup-node@v4
if: matrix.platform == 'JS'
with:
node-version: '22'
- name: Run tests
run: sbt ++${{ matrix.scala }}! test${{ matrix.platform }}
ci:
runs-on: ubuntu-24.04
needs: [ lint, test ]
steps:
- name: Aggregate of lint, and all tests
run: echo "ci passed"