@@ -5,6 +5,9 @@ commands:
5
5
project :
6
6
type : string
7
7
default : " Client.Test"
8
+ exe :
9
+ type : executor
10
+ default : docker-amd64-image
8
11
steps :
9
12
- run :
10
13
name : Install Dependencies
@@ -27,43 +30,104 @@ commands:
27
30
mv report/summary.html /tmp/artifacts
28
31
cp test-results/test-result.xml /tmp/artifacts
29
32
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 :
30
49
- run :
31
- name : Report test results to codecov
50
+ name : Collecting coverage reports
32
51
command : |
33
- apt-get update
34
- apt-get install gpg --yes
35
52
curl -Os https://uploader.codecov.io/latest/linux/codecov
36
53
curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM
37
54
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
39
56
gpgv codecov.SHA256SUM.sig codecov.SHA256SUM
40
57
shasum -a 256 -c codecov.SHA256SUM
41
58
chmod +x ./codecov
42
59
./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
47
72
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
48
104
49
105
jobs :
50
106
tests-unit :
51
107
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 >>
54
116
steps :
55
117
- checkout
56
118
- client-test :
119
+ exe : << parameters.exe >>
57
120
project : " Client.Test"
58
121
tests-integration :
59
122
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 >>
67
131
steps :
68
132
- checkout
69
133
- run :
@@ -80,21 +144,21 @@ jobs:
80
144
--export-token-as TESTING_INFLUXDB_TOKEN
81
145
- client-test :
82
146
project : " Client.Test.Integration"
83
-
147
+
84
148
check-compilation-warnings :
85
149
docker :
86
- - image : * default-dotnet-image
150
+ - image : << pipeline.parameters. default-dotnet-image >>
87
151
steps :
88
152
- checkout
89
153
- run :
90
154
name : Check compilation warnings
91
155
command : |
92
156
dotnet clean --configuration Release
93
157
dotnet build --configuration Release
94
-
158
+
95
159
deploy-preview :
96
160
docker :
97
- - image : * default-dotnet-image
161
+ - image : <<pipeline.parameters. default-dotnet-image>>
98
162
steps :
99
163
- run :
100
164
name : Early return if this build is from a forked repository
@@ -115,8 +179,16 @@ workflows:
115
179
build :
116
180
jobs :
117
181
- 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 >> ]
119
187
- tests-integration :
188
+ matrix :
189
+ parameters :
190
+ exe : [ docker-amd64-image, docker-arm64-image ]
191
+ dotnet-image : [ << pipeline.parameters.default-dotnet-image >> ]
120
192
requires :
121
193
- " tests-unit"
122
194
- deploy-preview :
0 commit comments