mirror of
https://github.com/git/git
synced 2024-09-12 21:04:12 +00:00
Merge branch 'js/ci-windows-update'
GitHub Actions / CI update. * js/ci-windows-update: ci: accelerate the checkout ci (vs-build): build with NO_GETTEXT artifacts-tar: respect NO_GETTEXT ci (windows): transfer also the Git-tracked files to the test jobs ci: upgrade to using actions/{up,down}load-artifacts v2 ci (vs-build): use `cmd` to copy the DLLs, not `powershell` ci: use the new GitHub Action to download git-sdk-64-minimal
This commit is contained in:
commit
dae59cb263
157
.github/workflows/main.yml
vendored
157
.github/workflows/main.yml
vendored
|
@ -81,44 +81,21 @@ jobs:
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- name: download git-sdk-64-minimal
|
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
## Get artifact
|
|
||||||
urlbase=https://dev.azure.com/git-for-windows/git/_apis/build/builds
|
|
||||||
id=$(curl "$urlbase?definitions=22&statusFilter=completed&resultFilter=succeeded&\$top=1" |
|
|
||||||
jq -r ".value[] | .id")
|
|
||||||
download_url="$(curl "$urlbase/$id/artifacts" |
|
|
||||||
jq -r '.value[] | select(.name == "git-sdk-64-minimal").resource.downloadUrl')"
|
|
||||||
curl --connect-timeout 10 --retry 5 --retry-delay 0 --retry-max-time 240 \
|
|
||||||
-o artifacts.zip "$download_url"
|
|
||||||
|
|
||||||
## Unzip and remove the artifact
|
|
||||||
unzip artifacts.zip
|
|
||||||
rm artifacts.zip
|
|
||||||
- name: build
|
- name: build
|
||||||
shell: powershell
|
shell: bash
|
||||||
env:
|
env:
|
||||||
HOME: ${{runner.workspace}}
|
HOME: ${{runner.workspace}}
|
||||||
MSYSTEM: MINGW64
|
|
||||||
NO_PERL: 1
|
NO_PERL: 1
|
||||||
run: |
|
run: ci/make-test-artifacts.sh artifacts
|
||||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
- name: zip up tracked files
|
||||||
printf '%s\n' /git-sdk-64-minimal/ >>.git/info/exclude
|
run: git archive -o artifacts/tracked.tar.gz HEAD
|
||||||
|
- name: upload tracked files and build artifacts
|
||||||
ci/make-test-artifacts.sh artifacts
|
uses: actions/upload-artifact@v2
|
||||||
"@
|
|
||||||
- name: upload build artifacts
|
|
||||||
uses: actions/upload-artifact@v1
|
|
||||||
with:
|
with:
|
||||||
name: windows-artifacts
|
name: windows-artifacts
|
||||||
path: artifacts
|
path: artifacts
|
||||||
- name: upload git-sdk-64-minimal
|
|
||||||
uses: actions/upload-artifact@v1
|
|
||||||
with:
|
|
||||||
name: git-sdk-64-minimal
|
|
||||||
path: git-sdk-64-minimal
|
|
||||||
windows-test:
|
windows-test:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: [windows-build]
|
needs: [windows-build]
|
||||||
|
@ -127,37 +104,25 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- name: download tracked files and build artifacts
|
||||||
- name: download build artifacts
|
uses: actions/download-artifact@v2
|
||||||
uses: actions/download-artifact@v1
|
|
||||||
with:
|
with:
|
||||||
name: windows-artifacts
|
name: windows-artifacts
|
||||||
path: ${{github.workspace}}
|
path: ${{github.workspace}}
|
||||||
- name: extract build artifacts
|
- name: extract tracked files and build artifacts
|
||||||
shell: bash
|
shell: bash
|
||||||
run: tar xf artifacts.tar.gz
|
run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
|
||||||
- name: download git-sdk-64-minimal
|
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||||
uses: actions/download-artifact@v1
|
|
||||||
with:
|
|
||||||
name: git-sdk-64-minimal
|
|
||||||
path: ${{github.workspace}}/git-sdk-64-minimal/
|
|
||||||
- name: test
|
- name: test
|
||||||
shell: powershell
|
shell: bash
|
||||||
run: |
|
run: ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
|
||||||
# Let Git ignore the SDK
|
|
||||||
printf '%s\n' /git-sdk-64-minimal/ >>.git/info/exclude
|
|
||||||
|
|
||||||
ci/run-test-slice.sh ${{matrix.nr}} 10
|
|
||||||
"@
|
|
||||||
- name: ci/print-test-failures.sh
|
- name: ci/print-test-failures.sh
|
||||||
if: failure()
|
if: failure()
|
||||||
shell: powershell
|
shell: bash
|
||||||
run: |
|
run: ci/print-test-failures.sh
|
||||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
|
|
||||||
- name: Upload failed tests' directories
|
- name: Upload failed tests' directories
|
||||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: failed-tests-windows
|
name: failed-tests-windows
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
|
@ -165,27 +130,12 @@ jobs:
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
env:
|
env:
|
||||||
MSYSTEM: MINGW64
|
|
||||||
NO_PERL: 1
|
NO_PERL: 1
|
||||||
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
|
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- name: download git-sdk-64-minimal
|
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
## Get artifact
|
|
||||||
urlbase=https://dev.azure.com/git-for-windows/git/_apis/build/builds
|
|
||||||
id=$(curl "$urlbase?definitions=22&statusFilter=completed&resultFilter=succeeded&\$top=1" |
|
|
||||||
jq -r ".value[] | .id")
|
|
||||||
download_url="$(curl "$urlbase/$id/artifacts" |
|
|
||||||
jq -r '.value[] | select(.name == "git-sdk-64-minimal").resource.downloadUrl')"
|
|
||||||
curl --connect-timeout 10 --retry 5 --retry-delay 0 --retry-max-time 240 \
|
|
||||||
-o artifacts.zip "$download_url"
|
|
||||||
|
|
||||||
## Unzip and remove the artifact
|
|
||||||
unzip artifacts.zip
|
|
||||||
rm artifacts.zip
|
|
||||||
- name: initialize vcpkg
|
- name: initialize vcpkg
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
|
@ -203,75 +153,60 @@ jobs:
|
||||||
- name: add msbuild to PATH
|
- name: add msbuild to PATH
|
||||||
uses: microsoft/setup-msbuild@v1
|
uses: microsoft/setup-msbuild@v1
|
||||||
- name: copy dlls to root
|
- name: copy dlls to root
|
||||||
shell: powershell
|
shell: cmd
|
||||||
run: |
|
run: compat\vcbuild\vcpkg_copy_dlls.bat release
|
||||||
& compat\vcbuild\vcpkg_copy_dlls.bat release
|
|
||||||
if (!$?) { exit(1) }
|
|
||||||
- name: generate Visual Studio solution
|
- name: generate Visual Studio solution
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
|
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
|
||||||
-DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
|
-DNO_GETTEXT=YesPlease -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
|
||||||
- name: MSBuild
|
- name: MSBuild
|
||||||
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
|
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
|
||||||
- name: bundle artifact tar
|
- name: bundle artifact tar
|
||||||
shell: powershell
|
shell: bash
|
||||||
env:
|
env:
|
||||||
MSVC: 1
|
MSVC: 1
|
||||||
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
|
VCPKG_ROOT: ${{github.workspace}}\compat\vcbuild\vcpkg
|
||||||
run: |
|
run: |
|
||||||
& git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
mkdir -p artifacts &&
|
||||||
mkdir -p artifacts &&
|
eval "$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts NO_GETTEXT=YesPlease 2>&1 | grep ^tar)"
|
||||||
eval \"`$(make -n artifacts-tar INCLUDE_DLLS_IN_ARTIFACTS=YesPlease ARTIFACTS_DIRECTORY=artifacts 2>&1 | grep ^tar)\"
|
- name: zip up tracked files
|
||||||
"@
|
run: git archive -o artifacts/tracked.tar.gz HEAD
|
||||||
- name: upload build artifacts
|
- name: upload tracked files and build artifacts
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: vs-artifacts
|
name: vs-artifacts
|
||||||
path: artifacts
|
path: artifacts
|
||||||
vs-test:
|
vs-test:
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: [vs-build, windows-build]
|
needs: vs-build
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
nr: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: git-for-windows/setup-git-for-windows-sdk@v1
|
||||||
- name: download git-sdk-64-minimal
|
- name: download tracked files and build artifacts
|
||||||
uses: actions/download-artifact@v1
|
uses: actions/download-artifact@v2
|
||||||
with:
|
|
||||||
name: git-sdk-64-minimal
|
|
||||||
path: ${{github.workspace}}/git-sdk-64-minimal/
|
|
||||||
- name: download build artifacts
|
|
||||||
uses: actions/download-artifact@v1
|
|
||||||
with:
|
with:
|
||||||
name: vs-artifacts
|
name: vs-artifacts
|
||||||
path: ${{github.workspace}}
|
path: ${{github.workspace}}
|
||||||
- name: extract build artifacts
|
- name: extract tracked files and build artifacts
|
||||||
shell: bash
|
shell: bash
|
||||||
run: tar xf artifacts.tar.gz
|
run: tar xf artifacts.tar.gz && tar xf tracked.tar.gz
|
||||||
- name: test
|
- name: test
|
||||||
shell: powershell
|
shell: bash
|
||||||
env:
|
env:
|
||||||
MSYSTEM: MINGW64
|
|
||||||
NO_SVN_TESTS: 1
|
NO_SVN_TESTS: 1
|
||||||
GIT_TEST_SKIP_REBASE_P: 1
|
GIT_TEST_SKIP_REBASE_P: 1
|
||||||
run: |
|
run: ci/run-test-slice.sh ${{matrix.nr}} 10
|
||||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc @"
|
|
||||||
# Let Git ignore the SDK and the test-cache
|
|
||||||
printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude
|
|
||||||
|
|
||||||
ci/run-test-slice.sh ${{matrix.nr}} 10
|
|
||||||
"@
|
|
||||||
- name: ci/print-test-failures.sh
|
- name: ci/print-test-failures.sh
|
||||||
if: failure()
|
if: failure()
|
||||||
shell: powershell
|
shell: bash
|
||||||
run: |
|
run: ci/print-test-failures.sh
|
||||||
& .\git-sdk-64-minimal\usr\bin\bash.exe -lc ci/print-test-failures.sh
|
|
||||||
- name: Upload failed tests' directories
|
- name: Upload failed tests' directories
|
||||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: failed-tests-windows
|
name: failed-tests-windows
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
|
@ -302,14 +237,14 @@ jobs:
|
||||||
jobname: ${{matrix.vector.jobname}}
|
jobname: ${{matrix.vector.jobname}}
|
||||||
runs-on: ${{matrix.vector.pool}}
|
runs-on: ${{matrix.vector.pool}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- run: ci/install-dependencies.sh
|
- run: ci/install-dependencies.sh
|
||||||
- run: ci/run-build-and-tests.sh
|
- run: ci/run-build-and-tests.sh
|
||||||
- run: ci/print-test-failures.sh
|
- run: ci/print-test-failures.sh
|
||||||
if: failure()
|
if: failure()
|
||||||
- name: Upload failed tests' directories
|
- name: Upload failed tests' directories
|
||||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: failed-tests-${{matrix.vector.jobname}}
|
name: failed-tests-${{matrix.vector.jobname}}
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
|
@ -336,7 +271,7 @@ jobs:
|
||||||
if: failure()
|
if: failure()
|
||||||
- name: Upload failed tests' directories
|
- name: Upload failed tests' directories
|
||||||
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
if: failure() && env.FAILED_TEST_ARTIFACTS != ''
|
||||||
uses: actions/upload-artifact@v1
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: failed-tests-${{matrix.vector.jobname}}
|
name: failed-tests-${{matrix.vector.jobname}}
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
|
@ -347,7 +282,7 @@ jobs:
|
||||||
jobname: StaticAnalysis
|
jobname: StaticAnalysis
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- run: ci/install-dependencies.sh
|
- run: ci/install-dependencies.sh
|
||||||
- run: ci/run-static-analysis.sh
|
- run: ci/run-static-analysis.sh
|
||||||
documentation:
|
documentation:
|
||||||
|
@ -357,6 +292,6 @@ jobs:
|
||||||
jobname: Documentation
|
jobname: Documentation
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
- run: ci/install-dependencies.sh
|
- run: ci/install-dependencies.sh
|
||||||
- run: ci/test-documentation.sh
|
- run: ci/test-documentation.sh
|
||||||
|
|
5
Makefile
5
Makefile
|
@ -2687,10 +2687,13 @@ po/git.pot: $(GENERATED_H) FORCE
|
||||||
.PHONY: pot
|
.PHONY: pot
|
||||||
pot: po/git.pot
|
pot: po/git.pot
|
||||||
|
|
||||||
|
ifdef NO_GETTEXT
|
||||||
|
POFILES :=
|
||||||
|
MOFILES :=
|
||||||
|
else
|
||||||
POFILES := $(wildcard po/*.po)
|
POFILES := $(wildcard po/*.po)
|
||||||
MOFILES := $(patsubst po/%.po,po/build/locale/%/LC_MESSAGES/git.mo,$(POFILES))
|
MOFILES := $(patsubst po/%.po,po/build/locale/%/LC_MESSAGES/git.mo,$(POFILES))
|
||||||
|
|
||||||
ifndef NO_GETTEXT
|
|
||||||
all:: $(MOFILES)
|
all:: $(MOFILES)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue