summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-08-12 01:04:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-08-12 01:04:13 (GMT)
commita30e4c531d9a43030eb1b5d7249378808dd2e14d (patch)
treeeaaf4b07671627f04f9d9bef7e52f03ccf0f5b92 /.github
parent73a925516604df7a95ad69b8d650275eb4ab270f (diff)
parent4c2c38e800f38bceb1039af2c2ac7b1082fd2e0b (diff)
downloadgit-a30e4c531d9a43030eb1b5d7249378808dd2e14d.zip
git-a30e4c531d9a43030eb1b5d7249378808dd2e14d.tar.gz
git-a30e4c531d9a43030eb1b5d7249378808dd2e14d.tar.bz2
Merge branch 'ss/cmake-build'
CMake support to build with MSVC for Windows bypassing the Makefile. * ss/cmake-build: ci: modification of main.yml to use cmake for vs-build job cmake: support for building git on windows with msvc and clang. cmake: support for building git on windows with mingw cmake: support for testing git when building out of the source tree cmake: support for testing git with ctest cmake: installation support for git cmake: generate the shell/perl/python scripts and templates, translations Introduce CMake support for configuring Git
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/main.yml39
1 files changed, 24 insertions, 15 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 84a5dcf..44e0fe5 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -145,13 +145,6 @@ jobs:
## Unzip and remove the artifact
unzip artifacts.zip
rm artifacts.zip
- - name: generate Visual Studio solution
- shell: powershell
- run: |
- & .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
- make NDEBUG=1 DEVELOPER=1 vcxproj
- "@
- if (!$?) { exit(1) }
- name: download vcpkg artifacts
shell: powershell
run: |
@@ -163,6 +156,17 @@ jobs:
Remove-Item compat.zip
- name: add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.0
+ - name: copy dlls to root
+ shell: powershell
+ run: |
+ & compat\vcbuild\vcpkg_copy_dlls.bat release
+ if (!$?) { exit(1) }
+ - name: generate Visual Studio solution
+ shell: bash
+ run: |
+ cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
+ -DIconv_LIBRARY=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/lib/libiconv.lib -DIconv_INCLUDE_DIR=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/include \
+ -DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
- name: MSBuild
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
- name: bundle artifact tar
@@ -171,8 +175,6 @@ jobs:
MSVC: 1
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
run: |
- & compat\vcbuild\vcpkg_copy_dlls.bat release
- if (!$?) { exit(1) }
& git-sdk-64-minimal\usr\bin\bash.exe -lc @"
mkdir -p artifacts &&
eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\"
@@ -203,7 +205,7 @@ jobs:
- name: extract build artifacts
shell: bash
run: tar xf artifacts.tar.gz
- - name: test (parallel)
+ - name: test
shell: powershell
env:
MSYSTEM: MINGW64
@@ -214,12 +216,19 @@ jobs:
# Let Git ignore the SDK and the test-cache
printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
- cd t &&
- PATH=\"`$PWD/helper:`$PATH\" &&
- test-tool.exe run-command testsuite --jobs=10 -V -x --write-junit-xml \
- `$(test-tool.exe path-utils slice-tests \
- ${{matrix.nr}} 10 t[0-9]*.sh)
+ ci/run-test-slice.sh ${{matrix.nr}} 10
"@
+ - name: ci/print-test-failures.sh
+ if: failure()
+ shell: powershell
+ run: |
+ & .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
+ - name: Upload failed tests' directories
+ if: failure() && env.FAILED_TEST_ARTIFACTS != ''
+ uses: actions/upload-artifact@v1
+ with:
+ name: failed-tests-windows
+ path: ${{env.FAILED_TEST_ARTIFACTS}}
regular:
needs: ci-config
if: needs.ci-config.outputs.enabled == 'yes'