Skip to content

Commit ac03d3e

Browse files
committed
TO-DROP: test only the Windows build and test
This experiment branch exists solely to run Git for Windows' test suite under BusyBox' `ash.exe` (via the `use-busybox` dimension of the `win test` job). The remaining CI jobs (the VS and Meson builds, the Linux and macOS matrices, the dockerized images, static analysis, rust analysis, sparse, and the documentation build) add nothing to that purpose and only produce noise and consume runner time, so let's drop them here. This commit must never graduate to `main`; it is marked `TO-DROP` accordingly. Assisted-by: Opus 4.8 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
1 parent 5ffa7cb commit ac03d3e

1 file changed

Lines changed: 0 additions & 359 deletions

File tree

.github/workflows/main.yml

Lines changed: 0 additions & 359 deletions
Original file line numberDiff line numberDiff line change
@@ -188,362 +188,3 @@ jobs:
188188
with:
189189
name: failed-tests-windows-${{ matrix.nr }}-${{ matrix.use-busybox }}
190190
path: ${{env.FAILED_TEST_ARTIFACTS}}
191-
vs-build:
192-
name: win+VS build
193-
needs: ci-config
194-
if: github.event.repository.owner.login == 'git-for-windows' && needs.ci-config.outputs.enabled == 'yes'
195-
env:
196-
NO_PERL: 1
197-
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
198-
runs-on: windows-latest
199-
strategy:
200-
matrix:
201-
arch: [x64, arm64]
202-
concurrency:
203-
group: vs-build-${{ github.ref }}-${{ matrix.arch }}
204-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
205-
steps:
206-
- uses: actions/checkout@v6
207-
- uses: git-for-windows/setup-git-for-windows-sdk@v2
208-
- name: initialize vcpkg
209-
uses: actions/checkout@v6
210-
with:
211-
repository: 'microsoft/vcpkg'
212-
path: 'compat/vcbuild/vcpkg'
213-
- name: download vcpkg artifacts
214-
uses: git-for-windows/get-azure-pipelines-artifact@v0
215-
with:
216-
repository: git/git
217-
definitionId: 9
218-
- name: add msbuild to PATH
219-
uses: microsoft/setup-msbuild@v3
220-
- name: copy dlls to root
221-
shell: cmd
222-
run: compat\vcbuild\vcpkg_copy_dlls.bat release ${{ matrix.arch }}-windows
223-
- name: generate Visual Studio solution
224-
shell: bash
225-
run: |
226-
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/${{ matrix.arch }}-windows \
227-
-DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON -DCMAKE_GENERATOR_PLATFORM=${{ matrix.arch }} -DVCPKG_ARCH=${{ matrix.arch }}-windows -DHOST_CPU=${{ matrix.arch }}
228-
- name: MSBuild
229-
run: |
230-
$sln = if (Test-Path git.slnx) { 'git.slnx' } else { 'git.sln' }
231-
msbuild $sln -property:Configuration=Release -property:Platform=${{ matrix.arch }} -maxCpuCount:4
232-
- name: bundle artifact tar
233-
shell: bash
234-
env:
235-
MSVC: 1
236-
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
237-
run: |
238-
mkdir -p artifacts &&
239-
eval "$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts NO_GETTEXT=YesPlease 2>&1 | grep ^tar)"
240-
- name: zip up tracked files
241-
run: git archive -o artifacts/tracked.tar.gz HEAD
242-
- name: upload tracked files and build artifacts
243-
uses: actions/upload-artifact@v7
244-
with:
245-
name: vs-artifacts-${{ matrix.arch }}
246-
path: artifacts
247-
vs-test:
248-
name: win+VS test
249-
runs-on: windows-latest
250-
needs: [ci-config, vs-build]
251-
strategy:
252-
fail-fast: false
253-
matrix:
254-
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
255-
concurrency:
256-
group: vs-test-${{ matrix.nr }}-${{ github.ref }}
257-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
258-
steps:
259-
- uses: git-for-windows/setup-git-for-windows-sdk@v2
260-
- name: download tracked files and build artifacts
261-
uses: actions/download-artifact@v8
262-
with:
263-
name: vs-artifacts-x64
264-
path: ${{github.workspace}}
265-
- name: extract tracked files and build artifacts
266-
shell: bash
267-
run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
268-
- name: test
269-
shell: bash
270-
env:
271-
NO_SVN_TESTS: 1
272-
run: . /etc/profile && ci/run-test-slice.sh $((${{matrix.nr}} + 1)) 10
273-
- name: print test failures
274-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
275-
shell: bash
276-
run: ci/print-test-failures.sh
277-
- name: Upload failed tests' directories
278-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
279-
uses: actions/upload-artifact@v7
280-
with:
281-
name: failed-tests-windows-vs-${{ matrix.nr }}
282-
path: ${{env.FAILED_TEST_ARTIFACTS}}
283-
284-
windows-meson-build:
285-
name: win+Meson build
286-
needs: ci-config
287-
if: needs.ci-config.outputs.enabled == 'yes'
288-
runs-on: windows-latest
289-
concurrency:
290-
group: windows-meson-build-${{ github.ref }}
291-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
292-
steps:
293-
- uses: actions/checkout@v6
294-
- uses: actions/setup-python@v6
295-
- name: Set up dependencies
296-
shell: pwsh
297-
run: pip install meson ninja
298-
- name: Setup
299-
shell: pwsh
300-
run: meson setup build --vsenv -Dbuildtype=release -Dperl=disabled -Dcredential_helpers=wincred
301-
- name: Compile
302-
shell: pwsh
303-
run: meson compile -C build
304-
- name: Upload build artifacts
305-
uses: actions/upload-artifact@v7
306-
with:
307-
name: windows-meson-artifacts
308-
path: build
309-
windows-meson-test:
310-
name: win+Meson test
311-
runs-on: windows-latest
312-
needs: [ci-config, windows-meson-build]
313-
strategy:
314-
fail-fast: false
315-
matrix:
316-
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
317-
concurrency:
318-
group: windows-meson-test-${{ matrix.nr }}-${{ github.ref }}
319-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
320-
steps:
321-
- uses: actions/checkout@v6
322-
- uses: actions/setup-python@v6
323-
- name: Set up dependencies
324-
shell: pwsh
325-
run: pip install meson ninja
326-
- name: Download build artifacts
327-
uses: actions/download-artifact@v8
328-
with:
329-
name: windows-meson-artifacts
330-
path: build
331-
- name: Test
332-
shell: bash
333-
run: ci/run-test-slice-meson.sh build $((${{matrix.nr}} + 1)) 10
334-
- name: print test failures
335-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
336-
shell: bash
337-
run: ci/print-test-failures.sh
338-
- name: Upload failed tests' directories
339-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
340-
uses: actions/upload-artifact@v7
341-
with:
342-
name: failed-tests-windows-meson-${{ matrix.nr }}
343-
path: ${{env.FAILED_TEST_ARTIFACTS}}
344-
345-
regular:
346-
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
347-
needs: ci-config
348-
if: needs.ci-config.outputs.enabled == 'yes'
349-
concurrency:
350-
group: ${{ matrix.vector.jobname }}-${{ matrix.vector.pool }}-${{ github.ref }}
351-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
352-
strategy:
353-
fail-fast: false
354-
matrix:
355-
vector:
356-
- jobname: osx-clang
357-
cc: clang
358-
pool: macos-14
359-
- jobname: osx-reftable
360-
cc: clang
361-
pool: macos-14
362-
- jobname: osx-gcc
363-
cc: gcc-13
364-
pool: macos-14
365-
- jobname: osx-meson
366-
cc: clang
367-
pool: macos-14
368-
env:
369-
CC: ${{matrix.vector.cc}}
370-
CC_PACKAGE: ${{matrix.vector.cc_package}}
371-
jobname: ${{matrix.vector.jobname}}
372-
CI_JOB_IMAGE: ${{matrix.vector.pool}}
373-
TEST_OUTPUT_DIRECTORY: ${{github.workspace}}/t
374-
runs-on: ${{matrix.vector.pool}}
375-
steps:
376-
- uses: actions/checkout@v6
377-
- run: ci/install-dependencies.sh
378-
- run: ci/run-build-and-tests.sh
379-
- name: print test failures
380-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
381-
run: ci/print-test-failures.sh
382-
- name: Upload failed tests' directories
383-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
384-
uses: actions/upload-artifact@v7
385-
with:
386-
name: failed-tests-${{matrix.vector.jobname}}
387-
path: ${{env.FAILED_TEST_ARTIFACTS}}
388-
fuzz-smoke-test:
389-
name: fuzz smoke test
390-
needs: ci-config
391-
if: needs.ci-config.outputs.enabled == 'yes'
392-
env:
393-
CC: clang
394-
CI_JOB_IMAGE: ubuntu-latest
395-
runs-on: ubuntu-latest
396-
steps:
397-
- uses: actions/checkout@v6
398-
- run: ci/install-dependencies.sh
399-
- run: ci/run-build-and-minimal-fuzzers.sh
400-
dockerized:
401-
name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
402-
needs: ci-config
403-
if: needs.ci-config.outputs.enabled == 'yes'
404-
concurrency:
405-
group: dockerized-${{ matrix.vector.jobname }}-${{ matrix.vector.image }}-${{ github.ref }}
406-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
407-
strategy:
408-
fail-fast: false
409-
matrix:
410-
vector:
411-
- jobname: linux-sha256
412-
image: ubuntu:rolling
413-
cc: clang
414-
- jobname: linux-reftable
415-
image: ubuntu:rolling
416-
cc: clang
417-
- jobname: linux-TEST-vars
418-
image: ubuntu:20.04
419-
cc: gcc
420-
cc_package: gcc-8
421-
- jobname: linux-breaking-changes
422-
cc: gcc
423-
image: ubuntu:rolling
424-
- jobname: fedora-breaking-changes-meson
425-
image: fedora:latest
426-
- jobname: linux-leaks
427-
image: ubuntu:rolling
428-
cc: gcc
429-
- jobname: linux-reftable-leaks
430-
image: ubuntu:rolling
431-
cc: gcc
432-
- jobname: linux-asan-ubsan
433-
image: ubuntu:rolling
434-
cc: clang
435-
- jobname: linux-meson
436-
image: ubuntu:rolling
437-
cc: gcc
438-
- jobname: linux-musl-meson
439-
image: alpine:latest
440-
# Supported until 2025-04-02.
441-
- jobname: linux32
442-
image: i386/ubuntu:20.04
443-
# A RHEL 8 compatible distro. Supported until 2029-05-31.
444-
- jobname: almalinux-8
445-
image: almalinux:8
446-
# Supported until 2026-08-31.
447-
- jobname: debian-11
448-
image: debian:11
449-
env:
450-
jobname: ${{matrix.vector.jobname}}
451-
CC: ${{matrix.vector.cc}}
452-
CI_JOB_IMAGE: ${{matrix.vector.image}}
453-
CUSTOM_PATH: /custom
454-
runs-on: ubuntu-latest
455-
container:
456-
image: ${{ matrix.vector.image }}
457-
options: ${{ github.repository_visibility == 'private' && '--pids-limit 16384 --ulimit nproc=16384:16384 --ulimit nofile=32768:32768' || '' }}
458-
steps:
459-
- name: prepare libc6 for actions
460-
if: matrix.vector.jobname == 'linux32'
461-
run: apt -q update && apt -q -y install libc6-amd64 lib64stdc++6
462-
- name: install git in container
463-
run: |
464-
if command -v git
465-
then
466-
: # nothing to do
467-
elif command -v apk
468-
then
469-
apk add --update git
470-
elif command -v dnf
471-
then
472-
dnf -yq update && dnf -yq install git
473-
else
474-
apt-get -q update && apt-get -q -y install git
475-
fi
476-
- uses: actions/checkout@v6
477-
- run: ci/install-dependencies.sh
478-
- run: useradd builder --create-home
479-
- run: chown -R builder .
480-
- run: chmod a+w $GITHUB_ENV && sudo --preserve-env --set-home --user=builder ci/run-build-and-tests.sh
481-
- name: print test failures
482-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
483-
run: sudo --preserve-env --set-home --user=builder ci/print-test-failures.sh
484-
- name: Upload failed tests' directories
485-
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
486-
uses: actions/upload-artifact@v7
487-
with:
488-
name: failed-tests-${{matrix.vector.jobname}}
489-
path: ${{env.FAILED_TEST_ARTIFACTS}}
490-
static-analysis:
491-
needs: ci-config
492-
if: needs.ci-config.outputs.enabled == 'yes'
493-
env:
494-
jobname: StaticAnalysis
495-
CI_JOB_IMAGE: ubuntu-22.04
496-
runs-on: ubuntu-22.04
497-
concurrency:
498-
group: static-analysis-${{ github.ref }}
499-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
500-
steps:
501-
- uses: actions/checkout@v6
502-
- run: ci/install-dependencies.sh
503-
- run: ci/run-static-analysis.sh
504-
- run: ci/check-directional-formatting.bash
505-
rust-analysis:
506-
needs: ci-config
507-
if: needs.ci-config.outputs.enabled == 'yes'
508-
env:
509-
jobname: RustAnalysis
510-
CI_JOB_IMAGE: ubuntu:rolling
511-
runs-on: ubuntu-latest
512-
container: ubuntu:rolling
513-
concurrency:
514-
group: rust-analysis-${{ github.ref }}
515-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
516-
steps:
517-
- uses: actions/checkout@v6
518-
- run: ci/install-dependencies.sh
519-
- run: ci/run-rust-checks.sh
520-
sparse:
521-
needs: ci-config
522-
if: needs.ci-config.outputs.enabled == 'yes'
523-
env:
524-
jobname: sparse
525-
CI_JOB_IMAGE: ubuntu-22.04
526-
runs-on: ubuntu-22.04
527-
concurrency:
528-
group: sparse-${{ github.ref }}
529-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
530-
steps:
531-
- uses: actions/checkout@v6
532-
- name: Install other dependencies
533-
run: ci/install-dependencies.sh
534-
- run: make sparse
535-
documentation:
536-
name: documentation
537-
needs: ci-config
538-
if: needs.ci-config.outputs.enabled == 'yes'
539-
concurrency:
540-
group: documentation-${{ github.ref }}
541-
cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
542-
env:
543-
jobname: Documentation
544-
CI_JOB_IMAGE: ubuntu-latest
545-
runs-on: ubuntu-latest
546-
steps:
547-
- uses: actions/checkout@v6
548-
- run: ci/install-dependencies.sh
549-
- run: ci/test-documentation.sh

0 commit comments

Comments
 (0)