Skip to content

Commit 09b4e0e

Browse files
authored
ci: add windows to matrix, freshen config (#24)
Add Windows to test matrix for jvm and bb tests No longer failing fast on first matrix job failure Bump GitHub actions Employ deps cache Switch to temurin for Java vendor Report which tools versions were installed Download deps prior to running main clj jvm action Closes #21
1 parent 4da1cc2 commit 09b4e0e

File tree

1 file changed

+114
-18
lines changed

1 file changed

+114
-18
lines changed

.github/workflows/ci.yml

Lines changed: 114 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,51 +3,147 @@ on: [push, pull_request]
33

44
jobs:
55
test:
6-
runs-on: ubuntu-latest
6+
runs-on: ${{ matrix.os }}-latest
77
strategy:
8+
fail-fast: false
89
matrix:
9-
clojure-version: ["1.8", "1.9", "1.10"]
10-
java-version: ["8", "11", "16"]
10+
os: ["ubuntu", "windows"]
11+
clojure-version: ["1.8", "1.9", "1.10", "1.11"]
12+
java-version: ["8", "11", "17"]
13+
14+
name: ${{ matrix.os }} clj-${{ matrix.clojure-version }} jdk${{ matrix.java-version }}
15+
1116
steps:
12-
- name: Prepare java
13-
uses: actions/setup-java@v2
17+
- name: Checkout
18+
uses: actions/checkout@v3.0.2
19+
20+
- name: Clojure deps cache
21+
uses: actions/cache@v3
1422
with:
15-
distribution: "adopt"
23+
path: |
24+
~/.m2/repository
25+
~/.deps.clj
26+
~/.gitlibs
27+
key: cljdeps-${{ hashFiles('deps.edn', 'bb.edn') }}
28+
restore-keys: cljdeps-
29+
30+
- name: Setup Java
31+
uses: actions/setup-java@v3
32+
with:
33+
distribution: "temurin"
1634
java-version: ${{ matrix.java-version }}
17-
- name: Setup Clojure
35+
36+
- name: Setup Clojure Tooling
1837
uses: DeLaGuardo/setup-clojure@9.4
1938
with:
39+
bb: 'latest'
2040
cli: 'latest'
21-
- name: Checkout
22-
uses: actions/checkout@v2-beta
41+
42+
- name: Tools versions
43+
run: |
44+
echo "bb --version"
45+
bb --version
46+
echo "clojure --version"
47+
clojure --version
48+
echo "java -version"
49+
java -version
50+
51+
- name: Bring down deps
52+
run: bb deps
53+
2354
- name: Run tests
2455
run: clojure -M:${{ matrix.clojure-version }}:test
56+
2557
bb-test:
26-
runs-on: ubuntu-latest
58+
runs-on: ${{ matrix.os }}-latest
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
os: ["ubuntu", "windows"]
63+
64+
name: ${{ matrix.os }} bb
65+
2766
steps:
2867
- name: Checkout
29-
uses: actions/checkout@v2-beta
30-
- name: Setup Babashka
68+
uses: actions/checkout@v3.0.2
69+
70+
- name: Clojure deps cache
71+
uses: actions/cache@v3
72+
with:
73+
path: |
74+
~/.m2/repository
75+
~/.deps.clj
76+
~/.gitlibs
77+
key: cljdeps-${{ hashFiles('deps.edn', 'bb.edn') }}
78+
restore-keys: cljdeps-
79+
80+
- name: Setup Java
81+
uses: actions/setup-java@v3
82+
with:
83+
distribution: "temurin"
84+
java-version: '17'
85+
86+
- name: Setup Clojure Tooling
3187
uses: DeLaGuardo/setup-clojure@9.4
3288
with:
3389
bb: 'latest'
34-
- name: tests
90+
91+
- name: Tools versions
92+
run: |
93+
echo "bb --version"
94+
bb --version
95+
echo "java -version"
96+
java -version
97+
98+
- name: Run tests
3599
run: bb test:bb
100+
36101
deploy:
37102
runs-on: ubuntu-latest
38103
needs:
39104
- test
40105
- bb-test
106+
41107
steps:
42108
- name: Checkout
109+
uses: actions/checkout@v3.0.2
43110
with:
44111
fetch-depth: 0
45-
uses: actions/checkout@v2-beta
46-
- name: Install clojure tools
47-
uses: DeLaGuardo/setup-clojure@3.5
112+
113+
- name: Clojure deps cache
114+
uses: actions/cache@v3
48115
with:
49-
# Install just one or all simultaneously
50-
cli: 1.10.3.1029 # Clojure CLI based on tools.deps
116+
path: |
117+
~/.m2/repository
118+
~/.deps.clj
119+
~/.gitlibs
120+
key: cljdeps-${{ hashFiles('deps.edn', 'bb.edn') }}
121+
restore-keys: cljdeps-
122+
123+
- name: Setup Java
124+
uses: actions/setup-java@v3
125+
with:
126+
distribution: 'temurin'
127+
java-version: '17'
128+
129+
- name: Setup Clojure Tooling
130+
uses: DeLaGuardo/setup-clojure@9.4
131+
with:
132+
bb: 'latest'
133+
cli: 'latest'
134+
135+
- name: Tools versions
136+
run: |
137+
echo "bb --version"
138+
bb --version
139+
echo "clojure --version"
140+
clojure --version
141+
echo "java -version"
142+
java -version
143+
144+
- name: Bring down deps
145+
run: bb deps
146+
51147
- name: Deploy
52148
env:
53149
CLOJARS_USERNAME: ${{ secrets.CLOJARS_USERNAME }}

0 commit comments

Comments
 (0)