Skip to content

Commit 9669423

Browse files
feat: add support arm64 CircleCI (#170)
* feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * feat: add amd image * chore: CHANGELOG.md * feat: add amd image * chore: revert code * [EMPTY] trigger CI --------- Co-authored-by: karel-rehor <karel-rehor@users.noreply.github.com>
1 parent f95b720 commit 9669423

File tree

2 files changed

+98
-22
lines changed

2 files changed

+98
-22
lines changed

.circleci/config.yml

Lines changed: 94 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ commands:
55
project:
66
type: string
77
default: "Client.Test"
8+
exe:
9+
type: executor
10+
default: docker-amd64-image
811
steps:
912
- run:
1013
name: Install Dependencies
@@ -27,43 +30,104 @@ commands:
2730
mv report/summary.html /tmp/artifacts
2831
cp test-results/test-result.xml /tmp/artifacts
2932
when: always
33+
- when:
34+
condition:
35+
equal: [ docker-amd64-image, << parameters.exe >> ]
36+
steps:
37+
- upload-codecov-amd64
38+
- when:
39+
condition:
40+
equal: [ docker-arm64-image, << parameters.exe >> ]
41+
steps:
42+
- upload-codecov-arm64
43+
- store_artifacts:
44+
path: /tmp/artifacts
45+
- store_test_results:
46+
path: test-results
47+
upload-codecov-amd64:
48+
steps:
3049
- run:
31-
name: Report test results to codecov
50+
name: Collecting coverage reports
3251
command: |
33-
apt-get update
34-
apt-get install gpg --yes
3552
curl -Os https://uploader.codecov.io/latest/linux/codecov
3653
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
3754
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig
38-
curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
55+
curl -s https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
3956
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
4057
shasum -a 256 -c codecov.SHA256SUM
4158
chmod +x ./codecov
4259
./codecov
43-
- store_artifacts:
44-
path: /tmp/artifacts
45-
- store_test_results:
46-
path: test-results
60+
upload-codecov-arm64:
61+
steps:
62+
- run:
63+
name: Collecting coverage reports
64+
command: |
65+
curl -k https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import
66+
curl -Os https://uploader.codecov.io/v0.8.0/aarch64/codecov
67+
curl -Os https://uploader.codecov.io/v0.8.0/aarch64/codecov.SHA256SUM
68+
curl -Os https://uploader.codecov.io/v0.8.0/aarch64/codecov.SHA256SUM.sig
69+
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
70+
shasum -a 256 -c codecov.SHA256SUM
71+
sudo chmod +x codecov
4772
73+
parameters:
74+
default-dotnet-image:
75+
type: string
76+
default: "mcr.microsoft.com/dotnet/sdk:8.0"
77+
78+
executors:
79+
docker-amd64-image:
80+
parameters:
81+
dotnet-image:
82+
type: string
83+
default: << pipeline.parameters.default-dotnet-image >>
84+
docker:
85+
- image: <<parameters.dotnet-image>>
86+
- image: influxdb:3-core
87+
environment:
88+
- INFLUXDB3_NODE_IDENTIFIER_PREFIX=node01
89+
- INFLUXDB3_OBJECT_STORE=file
90+
- INFLUXDB3_DB_DIR=/var/lib/influxdb3/data
91+
docker-arm64-image:
92+
parameters:
93+
dotnet-image:
94+
type: string
95+
default: << pipeline.parameters.default-dotnet-image >>
96+
docker:
97+
- image: <<parameters.dotnet-image>>
98+
- image: influxdb:3-core
99+
environment:
100+
- INFLUXDB3_NODE_IDENTIFIER_PREFIX=node01
101+
- INFLUXDB3_OBJECT_STORE=file
102+
- INFLUXDB3_DB_DIR=/var/lib/influxdb3/data
103+
resource_class: arm.medium
48104

49105
jobs:
50106
tests-unit:
51107
working_directory: ~/repo
52-
docker:
53-
- image: &default-dotnet-image "mcr.microsoft.com/dotnet/sdk:8.0"
108+
parameters:
109+
dotnet-image:
110+
type: string
111+
default: << pipeline.parameters.default-dotnet-image >>
112+
exe:
113+
type: executor
114+
default: docker-amd64-image
115+
executor: << parameters.exe >>
54116
steps:
55117
- checkout
56118
- client-test:
119+
exe: << parameters.exe >>
57120
project: "Client.Test"
58121
tests-integration:
59122
working_directory: ~/repo
60-
docker:
61-
- image: *default-dotnet-image
62-
- image: influxdb:3-core
63-
environment:
64-
- INFLUXDB3_NODE_IDENTIFIER_PREFIX=node01
65-
- INFLUXDB3_OBJECT_STORE=file
66-
- INFLUXDB3_DB_DIR=/var/lib/influxdb3/data
123+
parameters:
124+
dotnet-image:
125+
type: string
126+
default: << pipeline.parameters.default-dotnet-image >>
127+
exe:
128+
type: executor
129+
default: docker-amd64-image
130+
executor: << parameters.exe >>
67131
steps:
68132
- checkout
69133
- run:
@@ -80,21 +144,21 @@ jobs:
80144
--export-token-as TESTING_INFLUXDB_TOKEN
81145
- client-test:
82146
project: "Client.Test.Integration"
83-
147+
84148
check-compilation-warnings:
85149
docker:
86-
- image: *default-dotnet-image
150+
- image: << pipeline.parameters.default-dotnet-image >>
87151
steps:
88152
- checkout
89153
- run:
90154
name: Check compilation warnings
91155
command: |
92156
dotnet clean --configuration Release
93157
dotnet build --configuration Release
94-
158+
95159
deploy-preview:
96160
docker:
97-
- image: *default-dotnet-image
161+
- image: <<pipeline.parameters.default-dotnet-image>>
98162
steps:
99163
- run:
100164
name: Early return if this build is from a forked repository
@@ -115,8 +179,16 @@ workflows:
115179
build:
116180
jobs:
117181
- check-compilation-warnings
118-
- tests-unit
182+
- tests-unit:
183+
matrix:
184+
parameters:
185+
exe: [ docker-amd64-image, docker-arm64-image ]
186+
dotnet-image: [ << pipeline.parameters.default-dotnet-image >> ]
119187
- tests-integration:
188+
matrix:
189+
parameters:
190+
exe: [ docker-amd64-image, docker-arm64-image ]
191+
dotnet-image: [ << pipeline.parameters.default-dotnet-image >> ]
120192
requires:
121193
- "tests-unit"
122194
- deploy-preview:

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
1. [#174](https://github.com/InfluxCommunity/influxdb3-csharp/pull/174): Support passing HttpClient to InfluxDBClient.
66

7+
### CI
8+
9+
1. [#170](https://github.com/InfluxCommunity/influxdb3-csharp/pull/170) Add tests for arm64 CircleCI.
10+
711
## 1.3.0 [2025-08-12]
812

913
### Features

0 commit comments

Comments
 (0)