21
21
description : Specify regular expression for specific tests to be executed
22
22
type : string
23
23
default : ' '
24
-
24
+
25
25
26
26
schedule : # Schedule the job to run at 12 a.m. daily
27
27
- cron : ' 0 0 * * *'
33
33
jobs :
34
34
35
35
get_commits_to_benchmark :
36
- name : Get tag commits
36
+ name : Get tag commits
37
37
runs-on : ubuntu-22.04
38
- steps :
39
- - name : Checkout code
38
+ steps :
39
+ - name : Checkout code
40
40
41
41
with :
42
42
fetch-depth : 0
43
43
ref : ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || '' }} # Note: This is dangerous if we run automatic CI on external PRs
44
44
45
45
- name : Get tags
46
46
id : get_tags
47
- run : |
47
+ run : |
48
48
python3 build_tooling/get_commits_for_benchmark.py ${{ inputs.run_all_benchmarks == true && '--run_all_benchmarks' || ''}}
49
49
outputs :
50
50
matrix : ${{ steps.get_tags.outputs.commits }}
51
51
52
52
53
53
benchmark_commits :
54
- needs : [get_commits_to_benchmark]
54
+ needs : [get_commits_to_benchmark]
55
55
strategy :
56
56
fail-fast : false
57
- matrix :
58
- commits : ${{ fromJson(needs.get_commits_to_benchmark.outputs.matrix)}}
57
+ matrix :
58
+ commits : ${{ fromJson(needs.get_commits_to_benchmark.outputs.matrix)}}
59
59
name : Benchmark commit ${{ matrix.commits }}
60
60
uses : ./.github/workflows/benchmark_commits.yml
61
61
secrets : inherit
67
67
suite_to_run : ${{ github.event_name == 'schedule' && 'ALL' || inputs.suite_to_run || 'LMDB'}}
68
68
suite_overwrite : ${{ inputs.suite_overwrite || ''}}
69
69
70
- publish_benchmark_results_to_gh_pages :
70
+ publish_benchmark_results_to_gh_pages :
71
71
name : Publish benchmark results to gh-pages
72
72
if : ${{ github.event_name != 'pull_request_target' }} # only publish for the scheduled master builds
73
73
needs : [benchmark_commits]
@@ -119,8 +119,8 @@ jobs:
119
119
python build_tooling/transform_asv_results.py --mode extract
120
120
python -m asv publish -v
121
121
python -m asv gh-pages -v --rewrite
122
-
123
-
122
+
123
+
124
124
run-asv-check-script :
125
125
name : Executes asv tests checks
126
126
timeout-minutes : 120
@@ -142,11 +142,11 @@ jobs:
142
142
fetch-depth : 0
143
143
submodules : recursive
144
144
token : ${{ secrets.ARCTICDB_TEST_PAT }}
145
- ref : ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || '' }} # Note: This is dangerous if we run automatic CI on external PRs
145
+ ref : ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.sha || '' }} # Note: This is dangerous if we run automatic CI on external PRs
146
146
147
147
- name : Configure sccache
148
148
uses :
mozilla-actions/[email protected]
149
-
149
+
150
150
- name : Extra envs
151
151
shell : bash -l {0}
152
152
run : |
@@ -162,20 +162,31 @@ jobs:
162
162
with :
163
163
bucket : " arcticdb-asv-real-storage"
164
164
aws_access_key : " ${{ secrets.AWS_S3_ACCESS_KEY }}"
165
- aws_secret_key : " ${{ secrets.AWS_S3_SECRET_KEY }}"
166
-
165
+ aws_secret_key : " ${{ secrets.AWS_S3_SECRET_KEY }}"
166
+
167
+ # Workaround for https://github.com/airspeed-velocity/asv/issues/1465
168
+ - name : Setup micromamba
169
+ uses : mamba-org/setup-micromamba@v2
170
+ with :
171
+ micromamba-version : 2.1.0-0
172
+
173
+ - name : Install libmambapy
174
+ shell : bash -el {0}
175
+ run : |
176
+ micromamba install -y -c conda-forge "libmambapy<2" pip python
177
+
167
178
- name : Install ASV
168
179
shell : bash -el {0}
169
180
run : |
170
181
git config --global --add safe.directory .
171
182
python -m pip install --upgrade pip
172
- pip install asv
183
+ pip install asv
173
184
asv machine --yes
174
-
185
+
175
186
- name : Build project for ASV
176
187
run : |
177
188
python -m pip install -ve .[Testing]
178
-
189
+
179
190
- name : Run ASV Tests Check script
180
191
run : |
181
192
python python/utils/asv_checks.py
@@ -222,8 +233,8 @@ jobs:
222
233
# CMAKE_BUILD_PARALLEL_LEVEL: ${{vars.CMAKE_BUILD_PARALLEL_LEVEL}}
223
234
224
235
# - name: Prepare C++ compilation env
225
- # run: . build_tooling/prep_cpp_build.sh
226
-
236
+ # run: . build_tooling/prep_cpp_build.sh
237
+
227
238
# - name: CMake compile
228
239
# # We are pinning the version to 10.6 because >= 10.7, use node20 which is not supported in the container
229
240
@@ -234,7 +245,7 @@ jobs:
234
245
# env:
235
246
# ARCTICDB_DEBUG_FIND_PYTHON: ${{vars.ARCTICDB_DEBUG_FIND_PYTHON}}
236
247
# python_impl_name: 'cp311'
237
-
248
+
238
249
# - name: Run C++ Tests
239
250
# shell: bash -l {0}
240
251
# run: |
@@ -302,7 +313,7 @@ jobs:
302
313
# with:
303
314
# path: prev_coverage.txt
304
315
# key: coverage
305
-
316
+
306
317
# - name: Get and compare coverage if cache was restored
307
318
# run: |
308
319
# # if cache was restored, compare coverage
0 commit comments