Tweak CI to check only macOS jobs for 95e20213 (Hopefully final batch before -rc2, 2026-06-17)
Junio C Hamano committed
Jun 18, 2026 at 14:19 UTC
165e5ad3169d0fd26637da3383a4514f1a9d1e72
1 file changed
-367
.github/workflows/main.yml
-367
@@ -103,213 +103,6 @@ jobs:
103
core.warning(e);
104
}
105
106
- windows-build:
107
- name: win build
108
- needs: ci-config
109
- if: needs.ci-config.outputs.enabled == 'yes'
110
- runs-on: windows-latest
111
- concurrency:
112
- group: windows-build-${{ github.ref }}
113
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
114
- steps:
115
- - uses: actions/checkout@v6
116
- - uses: git-for-windows/setup-git-for-windows-sdk@v2
117
- - name: build
118
- shell: bash
119
- env:
120
- HOME: ${{runner.workspace}}
121
- NO_PERL: 1
122
- run: . /etc/profile && ci/make-test-artifacts.sh artifacts
123
- - name: zip up tracked files
124
- run: git archive -o artifacts/tracked.tar.gz HEAD
125
- - name: upload tracked files and build artifacts
126
- uses: actions/upload-artifact@v7
127
- with:
128
- name: windows-artifacts
129
- path: artifacts
130
- windows-test:
131
- name: win test
132
- runs-on: windows-latest
133
- needs: [ci-config, windows-build]
134
- strategy:
135
- fail-fast: false
136
- matrix:
137
- nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
138
- concurrency:
139
- group: windows-test-${{ matrix.nr }}-${{ github.ref }}
140
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
141
- steps:
142
- - name: download tracked files and build artifacts
143
- uses: actions/download-artifact@v8
144
- with:
145
- name: windows-artifacts
146
- path: ${{github.workspace}}
147
- - name: extract tracked files and build artifacts
148
- shell: bash
149
- run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
150
- - uses: git-for-windows/setup-git-for-windows-sdk@v2
151
- - name: test
152
- shell: bash
153
- run: . /etc/profile && ci/run-test-slice.sh $((${{matrix.nr}} + 1)) 10
154
- - name: print test failures
155
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
156
- shell: bash
157
- run: ci/print-test-failures.sh
158
- - name: Upload failed tests' directories
159
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
160
- uses: actions/upload-artifact@v7
161
- with:
162
- name: failed-tests-windows-${{ matrix.nr }}
163
- path: ${{env.FAILED_TEST_ARTIFACTS}}
164
- vs-build:
165
- name: win+VS build
166
- needs: ci-config
167
- if: github.event.repository.owner.login == 'git-for-windows' && needs.ci-config.outputs.enabled == 'yes'
168
- env:
169
- NO_PERL: 1
170
- GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
171
- runs-on: windows-latest
172
- concurrency:
173
- group: vs-build-${{ github.ref }}
174
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
175
- steps:
176
- - uses: actions/checkout@v6
177
- - uses: git-for-windows/setup-git-for-windows-sdk@v2
178
- - name: initialize vcpkg
179
- uses: actions/checkout@v6
180
- with:
181
- repository: 'microsoft/vcpkg'
182
- path: 'compat/vcbuild/vcpkg'
183
- - name: download vcpkg artifacts
184
- uses: git-for-windows/get-azure-pipelines-artifact@v0
185
- with:
186
- repository: git/git
187
- definitionId: 9
188
- - name: add msbuild to PATH
189
- uses: microsoft/setup-msbuild@v3
190
- - name: copy dlls to root
191
- shell: cmd
192
- run: compat\vcbuild\vcpkg_copy_dlls.bat release
193
- - name: generate Visual Studio solution
194
- shell: bash
195
- run: |
196
- cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
197
- -DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
198
- - name: MSBuild
199
- run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
200
- - name: bundle artifact tar
201
- shell: bash
202
- env:
203
- MSVC: 1
204
- VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
205
- run: |
206
- mkdir -p artifacts &&
207
- eval "$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts NO_GETTEXT=YesPlease 2>&1 | grep ^tar)"
208
- - name: zip up tracked files
209
- run: git archive -o artifacts/tracked.tar.gz HEAD
210
- - name: upload tracked files and build artifacts
211
- uses: actions/upload-artifact@v7
212
- with:
213
- name: vs-artifacts
214
- path: artifacts
215
- vs-test:
216
- name: win+VS test
217
- runs-on: windows-latest
218
- needs: [ci-config, vs-build]
219
- strategy:
220
- fail-fast: false
221
- matrix:
222
- nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
223
- concurrency:
224
- group: vs-test-${{ matrix.nr }}-${{ github.ref }}
225
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
226
- steps:
227
- - uses: git-for-windows/setup-git-for-windows-sdk@v2
228
- - name: download tracked files and build artifacts
229
- uses: actions/download-artifact@v8
230
- with:
231
- name: vs-artifacts
232
- path: ${{github.workspace}}
233
- - name: extract tracked files and build artifacts
234
- shell: bash
235
- run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
236
- - name: test
237
- shell: bash
238
- env:
239
- NO_SVN_TESTS: 1
240
- run: . /etc/profile && ci/run-test-slice.sh $((${{matrix.nr}} + 1)) 10
241
- - name: print test failures
242
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
243
- shell: bash
244
- run: ci/print-test-failures.sh
245
- - name: Upload failed tests' directories
246
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
247
- uses: actions/upload-artifact@v7
248
- with:
249
- name: failed-tests-windows-vs-${{ matrix.nr }}
250
- path: ${{env.FAILED_TEST_ARTIFACTS}}
251
-
252
- windows-meson-build:
253
- name: win+Meson build
254
- needs: ci-config
255
- if: needs.ci-config.outputs.enabled == 'yes'
256
- runs-on: windows-latest
257
- concurrency:
258
- group: windows-meson-build-${{ github.ref }}
259
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
260
- steps:
261
- - uses: actions/checkout@v6
262
- - uses: actions/setup-python@v6
263
- - name: Set up dependencies
264
- shell: pwsh
265
- run: pip install meson ninja
266
- - name: Setup
267
- shell: pwsh
268
- run: meson setup build --vsenv -Dbuildtype=release -Dperl=disabled -Dcredential_helpers=wincred
269
- - name: Compile
270
- shell: pwsh
271
- run: meson compile -C build
272
- - name: Upload build artifacts
273
- uses: actions/upload-artifact@v7
274
- with:
275
- name: windows-meson-artifacts
276
- path: build
277
- windows-meson-test:
278
- name: win+Meson test
279
- runs-on: windows-latest
280
- needs: [ci-config, windows-meson-build]
281
- strategy:
282
- fail-fast: false
283
- matrix:
284
- nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
285
- concurrency:
286
- group: windows-meson-test-${{ matrix.nr }}-${{ github.ref }}
287
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
288
- steps:
289
- - uses: actions/checkout@v6
290
- - uses: actions/setup-python@v6
291
- - name: Set up dependencies
292
- shell: pwsh
293
- run: pip install meson ninja
294
- - name: Download build artifacts
295
- uses: actions/download-artifact@v8
296
- with:
297
- name: windows-meson-artifacts
298
- path: build
299
- - name: Test
300
- shell: bash
301
- run: ci/run-test-slice-meson.sh build $((${{matrix.nr}} + 1)) 10
302
- - name: print test failures
303
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
304
- shell: bash
305
- run: ci/print-test-failures.sh
306
- - name: Upload failed tests' directories
307
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
308
- uses: actions/upload-artifact@v7
309
- with:
310
- name: failed-tests-windows-meson-${{ matrix.nr }}
311
- path: ${{env.FAILED_TEST_ARTIFACTS}}
312
-
106
regular:
107
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
108
needs: ci-config
@@ -353,163 +146,3 @@ jobs:
146
with:
147
name: failed-tests-${{matrix.vector.jobname}}
148
path: ${{env.FAILED_TEST_ARTIFACTS}}
356
- fuzz-smoke-test:
357
- name: fuzz smoke test
358
- needs: ci-config
359
- if: needs.ci-config.outputs.enabled == 'yes'
360
- env:
361
- CC: clang
362
- CI_JOB_IMAGE: ubuntu-latest
363
- runs-on: ubuntu-latest
364
- steps:
365
- - uses: actions/checkout@v6
366
- - run: ci/install-dependencies.sh
367
- - run: ci/run-build-and-minimal-fuzzers.sh
368
- dockerized:
369
- name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
370
- needs: ci-config
371
- if: needs.ci-config.outputs.enabled == 'yes'
372
- concurrency:
373
- group: dockerized-${{ matrix.vector.jobname }}-${{ matrix.vector.image }}-${{ github.ref }}
374
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
375
- strategy:
376
- fail-fast: false
377
- matrix:
378
- vector:
379
- - jobname: linux-sha256
380
- image: ubuntu:rolling
381
- cc: clang
382
- - jobname: linux-reftable
383
- image: ubuntu:rolling
384
- cc: clang
385
- - jobname: linux-TEST-vars
386
- image: ubuntu:20.04
387
- cc: gcc
388
- cc_package: gcc-8
389
- - jobname: linux-breaking-changes
390
- cc: gcc
391
- image: ubuntu:rolling
392
- - jobname: fedora-breaking-changes-meson
393
- image: fedora:latest
394
- - jobname: linux-leaks
395
- image: ubuntu:rolling
396
- cc: gcc
397
- - jobname: linux-reftable-leaks
398
- image: ubuntu:rolling
399
- cc: gcc
400
- - jobname: linux-asan-ubsan
401
- image: ubuntu:rolling
402
- cc: clang
403
- - jobname: linux-meson
404
- image: ubuntu:rolling
405
- cc: gcc
406
- - jobname: linux-musl-meson
407
- image: alpine:latest
408
- # Supported until 2025-04-02.
409
- - jobname: linux32
410
- image: i386/ubuntu:20.04
411
- # A RHEL 8 compatible distro. Supported until 2029-05-31.
412
- - jobname: almalinux-8
413
- image: almalinux:8
414
- # Supported until 2026-08-31.
415
- - jobname: debian-11
416
- image: debian:11
417
- env:
418
- jobname: ${{matrix.vector.jobname}}
419
- CC: ${{matrix.vector.cc}}
420
- CI_JOB_IMAGE: ${{matrix.vector.image}}
421
- CUSTOM_PATH: /custom
422
- runs-on: ubuntu-latest
423
- container: ${{matrix.vector.image}}
424
- steps:
425
- - name: prepare libc6 for actions
426
- if: matrix.vector.jobname == 'linux32'
427
- run: apt -q update && apt -q -y install libc6-amd64 lib64stdc++6
428
- - name: install git in container
429
- run: |
430
- if command -v git
431
- then
432
- : # nothing to do
433
- elif command -v apk
434
- then
435
- apk add --update git
436
- elif command -v dnf
437
- then
438
- dnf -yq update && dnf -yq install git
439
- else
440
- apt-get -q update && apt-get -q -y install git
441
- fi
442
- - uses: actions/checkout@v6
443
- - run: ci/install-dependencies.sh
444
- - run: useradd builder --create-home
445
- - run: chown -R builder .
446
- - run: chmod a+w $GITHUB_ENV && sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh
447
- - name: print test failures
448
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
449
- run: sudo --preserve-env --set-home --user=builder ci/print-test-failures.sh
450
- - name: Upload failed tests' directories
451
- if: failure() && env.FAILED_TEST_ARTIFACTS != ''
452
- uses: actions/upload-artifact@v7
453
- with:
454
- name: failed-tests-${{matrix.vector.jobname}}
455
- path: ${{env.FAILED_TEST_ARTIFACTS}}
456
- static-analysis:
457
- needs: ci-config
458
- if: needs.ci-config.outputs.enabled == 'yes'
459
- env:
460
- jobname: StaticAnalysis
461
- CI_JOB_IMAGE: ubuntu-22.04
462
- runs-on: ubuntu-22.04
463
- concurrency:
464
- group: static-analysis-${{ github.ref }}
465
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
466
- steps:
467
- - uses: actions/checkout@v6
468
- - run: ci/install-dependencies.sh
469
- - run: ci/run-static-analysis.sh
470
- - run: ci/check-directional-formatting.bash
471
- rust-analysis:
472
- needs: ci-config
473
- if: needs.ci-config.outputs.enabled == 'yes'
474
- env:
475
- jobname: RustAnalysis
476
- CI_JOB_IMAGE: ubuntu:rolling
477
- runs-on: ubuntu-latest
478
- container: ubuntu:rolling
479
- concurrency:
480
- group: rust-analysis-${{ github.ref }}
481
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
482
- steps:
483
- - uses: actions/checkout@v6
484
- - run: ci/install-dependencies.sh
485
- - run: ci/run-rust-checks.sh
486
- sparse:
487
- needs: ci-config
488
- if: needs.ci-config.outputs.enabled == 'yes'
489
- env:
490
- jobname: sparse
491
- CI_JOB_IMAGE: ubuntu-22.04
492
- runs-on: ubuntu-22.04
493
- concurrency:
494
- group: sparse-${{ github.ref }}
495
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
496
- steps:
497
- - uses: actions/checkout@v6
498
- - name: Install other dependencies
499
- run: ci/install-dependencies.sh
500
- - run: make sparse
501
- documentation:
502
- name: documentation
503
- needs: ci-config
504
- if: needs.ci-config.outputs.enabled == 'yes'
505
- concurrency:
506
- group: documentation-${{ github.ref }}
507
- cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
508
- env:
509
- jobname: Documentation
510
- CI_JOB_IMAGE: ubuntu-latest
511
- runs-on: ubuntu-latest
512
- steps:
513
- - uses: actions/checkout@v6
514
- - run: ci/install-dependencies.sh
515
- - run: ci/test-documentation.sh