-
Notifications
You must be signed in to change notification settings - Fork 135
130 lines (106 loc) · 4.07 KB
/
check-build-test.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: CI
on:
pull_request:
push:
branches:
- main
tags-ignore:
- v*
permissions:
contents: read
jobs:
style-compile:
name: Compile, Code Style
if: github.event.repository.fork == false
runs-on: ubuntu-22.04
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
# https://github.com/actions/checkout/releases
# v4.1.1
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with: # https://github.com/olafurpg/setup-scala#faster-checkout-of-big-repos
fetch-depth: 0
- name: Fetch tags
run: git fetch --depth=100 origin +refs/tags/*:refs/tags/*
- name: Set up JDK 11
# https://github.com/coursier/setup-action/releases
# v1.3.5
uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f
with:
jvm: temurin:1.11
- name: Cache Coursier cache
# https://github.com/coursier/cache-action/releases
# v6.4.5
uses: coursier/cache-action@1ff273bff02a8787bc9f1877d347948af647956d
- name: "Code style, compile tests"
run: sbt "verifyCodeStyle; +Test/compile"
documentation:
name: ScalaDoc, Documentation with Paradox
if: github.event.repository.fork == false
runs-on: ubuntu-22.04
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
# https://github.com/actions/checkout/releases
# v4.1.1
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with: # https://github.com/olafurpg/setup-scala#faster-checkout-of-big-repos
fetch-depth: 100
- name: Fetch tags
run: git fetch --depth=100 origin +refs/tags/*:refs/tags/*
- name: Set up JDK 11
# https://github.com/coursier/setup-action/releases
# v1.3.5
uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f
with:
jvm: temurin:1.11
- name: Cache Coursier cache
# https://github.com/coursier/cache-action/releases
# v6.4.5
uses: coursier/cache-action@1ff273bff02a8787bc9f1877d347948af647956d
- name: "Create all API docs and create site with Paradox"
run: sbt "unidoc; docs/makeSite"
- name: Run Link Validator
run: cs launch net.runne::site-link-validator:0.2.3 -- project/link-validator.conf
test:
name: Test
if: github.event.repository.fork == false
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- { jdk: 'temurin:1.11.0.17', container: "cassandra-latest", test: "test" }
- { jdk: 'temurin:1.11.0.17', container: "cassandra2", test: "'testOnly -- -l RequiresCassandraThree'"}
- { jdk: 'temurin:1.11.0.17', container: "cassandra3", test: "test" }
- { jdk: 'temurin:1.21', container: "cassandra3", test: "test" }
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
# https://github.com/actions/checkout/releases
# v4.1.1
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
fetch-depth: 0
- name: Checkout GitHub merge
if: github.event.pull_request
run: |-
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
git checkout scratch
- name: Set up JDK ${{ matrix.jdkVersion }}
# https://github.com/coursier/setup-action/releases
# v1.3.5
uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f
with:
jvm: ${{ matrix.jvmName }}
- name: Cache Coursier cache
# https://github.com/coursier/cache-action/releases
# v6.4.5
uses: coursier/cache-action@1ff273bff02a8787bc9f1877d347948af647956d
- name: Test against ${{ matrix.container }}
run: |-
docker-compose up -d ${{ matrix.container }} && sbt ${{matrix.test}}