-
Notifications
You must be signed in to change notification settings - Fork 32
68 lines (57 loc) · 1.52 KB
/
validate.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
name: Test and publish
on:
pull_request:
push:
branches: [ main ]
tags: [ v* ]
jobs:
compile-and-test:
name: Compile and test and publish
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
scala:
- 2.12.18
- 2.12.19
- 2.13.11
- 2.13.12
- 2.13.13
java: [8, 11, 17, 21]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK ${{matrix.java}}
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: ${{matrix.java}}
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Compile and test on JDK ${{matrix.java}}, Scala ${{matrix.scala}}
run: sbt ++${{matrix.scala}} test
publish:
name: Publish to Maven Central
if: startsWith(github.ref, 'refs/tags/v')
needs: [ compile-and-test ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: 8
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Publish
run: sbt ci-release
env:
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}