aboutsummaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-02-03 10:23:34 -0800
committerJunio C Hamano <gitster@pobox.com>2025-02-03 10:23:34 -0800
commitf49905d47d42cf6ea4c34b5a8301e84149e7aeba (patch)
treee6cb2bb2b32814410d971a768436507be53ffce4 /.github
parentMerge branch 'ps/3.0-remote-deprecation' (diff)
parentci: wire up Visual Studio build with Meson (diff)
downloadgit-f49905d47d42cf6ea4c34b5a8301e84149e7aeba.tar.gz
git-f49905d47d42cf6ea4c34b5a8301e84149e7aeba.zip
Merge branch 'ps/build-meson-fixes'
More build fixes and enhancements on meson based build procedure. * ps/build-meson-fixes: ci: wire up Visual Studio build with Meson ci: raise error when Meson generates warnings meson: fix compilation with Visual Studio meson: make the CSPRNG backend configurable meson: wire up fuzzers meson: wire up generation of distribution archive meson: wire up development environments meson: fix dependencies for generated headers meson: populate project version via GIT-VERSION-GEN GIT-VERSION-GEN: allow running without input and output files GIT-VERSION-GEN: simplify computing the dirty marker
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/main.yml52
1 files changed, 52 insertions, 0 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 686855bb5e..909dd9cdbb 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -248,6 +248,58 @@ jobs:
with:
name: failed-tests-windows-vs-${{ matrix.nr }}
path: ${{env.FAILED_TEST_ARTIFACTS}}
+
+ windows-meson-build:
+ name: win+Meson build
+ needs: ci-config
+ if: needs.ci-config.outputs.enabled == 'yes'
+ runs-on: windows-latest
+ concurrency:
+ group: windows-meson-build-${{ github.ref }}
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ - name: Set up dependencies
+ shell: pwsh
+ run: pip install meson ninja
+ - name: Setup
+ shell: pwsh
+ run: meson setup build -Dperl=disabled
+ - name: Compile
+ shell: pwsh
+ run: meson compile -C build
+ - name: Upload build artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: windows-meson-artifacts
+ path: build
+ windows-meson-test:
+ name: win+Meson test
+ runs-on: windows-latest
+ needs: [ci-config, windows-meson-build]
+ strategy:
+ fail-fast: false
+ matrix:
+ nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ concurrency:
+ group: windows-meson-test-${{ matrix.nr }}-${{ github.ref }}
+ cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ - name: Set up dependencies
+ shell: pwsh
+ run: pip install meson ninja
+ - name: Download build artifacts
+ uses: actions/download-artifact@v4
+ with:
+ name: windows-meson-artifacts
+ path: build
+ - name: Test
+ shell: pwsh
+ run: meson test -C build --list | Select-Object -Skip 1 | Select-String .* | Group-Object -Property { $_.LineNumber % 10 } | Where-Object Name -EQ ${{ matrix.nr }} | ForEach-Object { meson test -C build --no-rebuild --print-errorlogs $_.Group }
+
regular:
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
needs: ci-config