Skip to content

Commit 028a7a6

Browse files
[ci] Update CI config
1 parent 15c7f61 commit 028a7a6

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

.circleci/config.yml

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ commands:
6262
default: "1"
6363
steps:
6464
- run:
65-
name: Install node
65+
name: Install packages
6666
command: |
67-
apt-get update && apt-get install -y nodejs
67+
apt-get update && apt-get install -y wget nodejs unzip zip
6868
- run:
6969
name: Generate Cache Checksum
7070
command: |
@@ -79,6 +79,7 @@ commands:
7979
paths:
8080
- ~/.m2
8181
- .cpcache
82+
- base-src.zip
8283
key: clojure-<< parameters.cache_version >>-{{ checksum "/tmp/clojure_cache_seed" }}
8384

8485
# The jobs are relatively simple. One runs utility commands against
@@ -98,7 +99,7 @@ jobs:
9899
steps:
99100
- checkout
100101
- with_cache:
101-
cache_version: "util_v1_1.11.4"
102+
cache_version: "util_v3_1.11.4"
102103
steps: << parameters.steps >>
103104

104105
deploy:
@@ -115,7 +116,7 @@ jobs:
115116
command: |
116117
lein with-profile -user,+deploy run -m deploy-release make deploy
117118
118-
test_code:
119+
test:
119120
description: |
120121
Run tests against given version of JDK and Clojure
121122
parameters:
@@ -128,21 +129,23 @@ jobs:
128129
parser_target:
129130
description: The Orchard Java parser to be exercised
130131
type: string
131-
test_command:
132-
description: The command to run
133-
type: string
132+
default: parser
134133
executor: << parameters.jdk_version >>
135134
environment:
136135
CLOJURE_VERSION: << parameters.clojure_version >>
136+
PARSER_TARGET: << parameters.parser_target >>
137137
PROJECT_VERSION: 999.99.9
138138
steps:
139139
- checkout
140140
- with_cache:
141-
cache_version: "test_code_v1_<< parameters.clojure_version >>"
141+
cache_version: "test_code_v3_<< parameters.clojure_version >>"
142142
steps:
143143
- run:
144144
name: Running tests with inlined deps
145-
command: PARSER_TARGET=<< parameters.parser_target >> make --debug << parameters.test_command >>
145+
command: make --debug test
146+
- run:
147+
name: Running smoketest
148+
command: make --debug smoketest
146149

147150
# The ci-test-matrix does the following:
148151
#
@@ -157,29 +160,28 @@ workflows:
157160
version: 2.1
158161
ci-test-matrix:
159162
jobs:
160-
- test_code:
163+
- test:
164+
# Regular tests for all Clojure and JDK versions (except JDK21, see
165+
# below). This matrix doesn't perform parser tests because we don't
166+
# have JDK sources here.
161167
matrix:
162-
alias: "test_code_jdk8"
168+
alias: "test"
163169
parameters:
164170
clojure_version: ["1.10", "1.11", "1.12"]
165-
jdk_version: [jdk8]
166-
# It doesn't make sense to exercise the newer Orchard Java parsers against JDK8
167-
# (given that JDK8 is explicitly excluded by those parsers)
168-
parser_target: ["legacy-parser"]
169-
test_command: ["test", "smoketest"]
171+
jdk_version: [jdk8, jdk11, jdk17, jdk22]
170172
filters:
171173
branches:
172174
only: /.*/
173175
<<: *tags_filter
174-
- test_code:
176+
- test:
177+
# We have source for JDK21, so with this JDK version we also perform
178+
# Java parser tests (for both regular parser and parser-next).
175179
matrix:
176-
alias: "test_code"
180+
alias: "test_with_sources"
177181
parameters:
178182
clojure_version: ["1.10", "1.11", "1.12"]
179-
jdk_version: [jdk11, jdk17, jdk21, jdk22]
180-
# Don't test legacy parser on JDK11+ since it is never invoked there.
181-
parser_target: ["parser-next", "parser"]
182-
test_command: ["test", "smoketest"]
183+
jdk_version: [jdk21]
184+
parser_target: ["parser", "parser-next"]
183185
filters:
184186
branches:
185187
only: /.*/
@@ -206,8 +208,8 @@ workflows:
206208
make eastwood
207209
- deploy:
208210
requires:
209-
- "test_code"
210-
- "test_code_jdk8"
211+
- "test"
212+
- "test_with_sources"
211213
- "Code Linting"
212214
filters:
213215
branches:

0 commit comments

Comments
 (0)