@@ -3,51 +3,147 @@ on: [push, pull_request]
33
44jobs :
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