Skip to content

Commit 92efe4b

Browse files
feat: support arm64 circleci (#266)
1 parent 36574b9 commit 92efe4b

File tree

2 files changed

+88
-39
lines changed

2 files changed

+88
-39
lines changed

.circleci/config.yml

Lines changed: 82 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,77 @@
11
version: 2.1
22

3-
jobs:
4-
tests-java:
3+
parameters:
4+
default-maven-image:
5+
type: string
6+
default: "cimg/openjdk:11.0"
7+
8+
executors:
9+
docker-amd64-image:
510
parameters:
611
maven-image:
712
type: string
8-
default: &default-maven-image "cimg/openjdk:11.0"
9-
arg-line:
13+
default: << pipeline.parameters.default-maven-image >>
14+
docker:
15+
- image: <<parameters.maven-image>>
16+
- image: influxdb:3-core
17+
environment:
18+
- INFLUXDB3_NODE_IDENTIFIER_PREFIX=node01
19+
- INFLUXDB3_OBJECT_STORE=file
20+
- INFLUXDB3_DB_DIR=/var/lib/influxdb3/data
21+
docker-arm64-image:
22+
parameters:
23+
maven-image:
1024
type: string
11-
default: ""
25+
default: << pipeline.parameters.default-maven-image >>
1226
docker:
13-
- image: << parameters.maven-image >>
27+
- image: <<parameters.maven-image>>
1428
- image: influxdb:3-core
1529
environment:
1630
- INFLUXDB3_NODE_IDENTIFIER_PREFIX=node01
1731
- INFLUXDB3_OBJECT_STORE=file
1832
- INFLUXDB3_DB_DIR=/var/lib/influxdb3/data
33+
resource_class: arm.medium
34+
35+
commands:
36+
upload-codecov-amd64:
37+
steps:
38+
- run:
39+
name: Collecting coverage reports
40+
command: |
41+
curl -Os https://uploader.codecov.io/latest/linux/codecov
42+
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
43+
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
44+
curl -s https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
45+
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
46+
shasum -a 256 -c codecov.SHA256SUM
47+
chmod +x ./codecov
48+
./codecov
49+
upload-codecov-arm64:
50+
steps:
51+
- run:
52+
name: Collecting coverage reports
53+
command: |
54+
curl -k https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
55+
curl -Os https://uploader.codecov.io/v0.8.0/aarch64/codecov
56+
curl -Os https://uploader.codecov.io/v0.8.0/aarch64/codecov.SHA256SUM
57+
curl -Os https://uploader.codecov.io/v0.8.0/aarch64/codecov.SHA256SUM.sig
58+
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
59+
shasum -a 256 -c codecov.SHA256SUM
60+
sudo chmod +x codecov
61+
62+
jobs:
63+
tests-java:
64+
parameters:
65+
maven-image:
66+
type: string
67+
default: << pipeline.parameters.default-maven-image >>
68+
exe:
69+
type: executor
70+
default: docker-amd64-image
71+
arg-line:
72+
type: string
73+
default: "--add-opens=java.base/java.nio=ALL-UNNAMED"
74+
executor: << parameters.exe >>
1975
steps:
2076
- checkout
2177
- restore_cache:
@@ -54,25 +110,24 @@ jobs:
54110
cp -r target/*.jar artifacts/
55111
- store_artifacts:
56112
path: artifacts
57-
- run:
58-
name: Collecting coverage reports
59-
command: |
60-
curl -Os https://uploader.codecov.io/latest/linux/codecov
61-
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
62-
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
63-
curl -s https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
64-
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
65-
shasum -a 256 -c codecov.SHA256SUM
66-
chmod +x ./codecov
67-
./codecov
113+
- when:
114+
condition:
115+
equal: [ docker-amd64-image, << parameters.exe >> ]
116+
steps:
117+
- upload-codecov-amd64
118+
- when:
119+
condition:
120+
equal: [ docker-arm64-image, << parameters.exe >> ]
121+
steps:
122+
- upload-codecov-arm64
68123

69124
check-dependencies:
70125
parameters:
71126
maven-image:
72127
type: string
73-
default: *default-maven-image
128+
default: << pipeline.parameters.default-maven-image >>
74129
docker:
75-
- image: *default-maven-image
130+
- image: << pipeline.parameters.default-maven-image >>
76131
steps:
77132
- checkout
78133
- restore_cache:
@@ -87,7 +142,7 @@ jobs:
87142
parameters:
88143
maven-image:
89144
type: string
90-
default: *default-maven-image
145+
default: << pipeline.parameters.default-maven-image >>
91146
docker:
92147
- image: << parameters.maven-image >>
93148
steps:
@@ -104,7 +159,7 @@ jobs:
104159
parameters:
105160
maven-image:
106161
type: string
107-
default: *default-maven-image
162+
default: << pipeline.parameters.default-maven-image >>
108163
docker:
109164
- image: << parameters.maven-image >>
110165
steps:
@@ -119,7 +174,7 @@ jobs:
119174

120175
deploy-snapshot:
121176
docker:
122-
- image: *default-maven-image
177+
- image: << pipeline.parameters.default-maven-image >>
123178
steps:
124179
- run:
125180
name: Early return if this build is from a forked repository
@@ -163,28 +218,16 @@ workflows:
163218
- check-licenses
164219
- check-generate-site
165220
- tests-java:
166-
name: jdk-11
167-
- tests-java:
168-
name: jdk-17
169-
maven-image: "cimg/openjdk:17.0"
170-
arg-line: "--add-opens=java.base/java.nio=ALL-UNNAMED"
171-
- tests-java:
172-
name: jdk-20
173-
maven-image: "cimg/openjdk:20.0"
174-
arg-line: "--add-opens=java.base/java.nio=ALL-UNNAMED"
175-
- tests-java:
176-
name: jdk-21
177-
maven-image: "cimg/openjdk:21.0"
178-
arg-line: "--add-opens=java.base/java.nio=ALL-UNNAMED"
221+
matrix:
222+
parameters:
223+
exe: [ docker-amd64-image, docker-arm64-image ]
224+
maven-image: [ << pipeline.parameters.default-maven-image >>, "cimg/openjdk:17.0", "cimg/openjdk:20.0", "cimg/openjdk:21.0" ]
179225
- deploy-snapshot:
180226
requires:
181227
- check-dependencies
182228
- check-licenses
183229
- check-generate-site
184-
- jdk-11
185-
- jdk-17
186-
- jdk-20
187-
- jdk-21
230+
- tests-java
188231
filters:
189232
branches:
190233
only: main

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
## 1.4.0 [unreleased]
22

3+
### Features
4+
5+
### CI
6+
7+
1. [#266](https://github.com/InfluxCommunity/influxdb3-java/pull/266) Add tests for arm64 CircleCI.
8+
39
## 1.3.0 [2025-08-13]
410

511
### Features

0 commit comments

Comments
 (0)