Merge branch 'ps/gitlab-ci-windows-improvements' into jch
GitLab CI improvements. * ps/gitlab-ci-windows-improvements: t8020: fix test failure due to indeterministic tag sorting gitlab-ci: upload Meson test logs as JUnit reports gitlab-ci: drop workaround for Python certificate store on Windows gitlab-ci: ignore failures to disable realtime monitoring gitlab-ci: dedup instructions to disable realtime monitoringseen
commit
47c90ae878
|
@ -70,6 +70,8 @@ test:linux:
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- t/failed-test-artifacts
|
- t/failed-test-artifacts
|
||||||
|
reports:
|
||||||
|
junit: build/meson-logs/testlog.junit.xml
|
||||||
when: on_failure
|
when: on_failure
|
||||||
|
|
||||||
test:osx:
|
test:osx:
|
||||||
|
@ -110,8 +112,16 @@ test:osx:
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- t/failed-test-artifacts
|
- t/failed-test-artifacts
|
||||||
|
reports:
|
||||||
|
junit: build/meson-logs/testlog.junit.xml
|
||||||
when: on_failure
|
when: on_failure
|
||||||
|
|
||||||
|
.windows_before_script: &windows_before_script
|
||||||
|
# Disabling realtime monitoring fails on some of the runners, but it
|
||||||
|
# significantly speeds up test execution in the case where it works. We thus
|
||||||
|
# try our luck, but ignore any failures.
|
||||||
|
- Set-MpPreference -DisableRealtimeMonitoring $true; $true
|
||||||
|
|
||||||
build:mingw64:
|
build:mingw64:
|
||||||
stage: build
|
stage: build
|
||||||
tags:
|
tags:
|
||||||
|
@ -119,7 +129,7 @@ build:mingw64:
|
||||||
variables:
|
variables:
|
||||||
NO_PERL: 1
|
NO_PERL: 1
|
||||||
before_script:
|
before_script:
|
||||||
- Set-MpPreference -DisableRealtimeMonitoring $true
|
- *windows_before_script
|
||||||
- ./ci/install-sdk.ps1 -directory "git-sdk"
|
- ./ci/install-sdk.ps1 -directory "git-sdk"
|
||||||
script:
|
script:
|
||||||
- git-sdk/usr/bin/bash.exe -l -c 'ci/make-test-artifacts.sh artifacts'
|
- git-sdk/usr/bin/bash.exe -l -c 'ci/make-test-artifacts.sh artifacts'
|
||||||
|
@ -136,7 +146,7 @@ test:mingw64:
|
||||||
- job: "build:mingw64"
|
- job: "build:mingw64"
|
||||||
artifacts: true
|
artifacts: true
|
||||||
before_script:
|
before_script:
|
||||||
- Set-MpPreference -DisableRealtimeMonitoring $true
|
- *windows_before_script
|
||||||
- git-sdk/usr/bin/bash.exe -l -c 'tar xf artifacts/artifacts.tar.gz'
|
- git-sdk/usr/bin/bash.exe -l -c 'tar xf artifacts/artifacts.tar.gz'
|
||||||
- New-Item -Path .git/info -ItemType Directory
|
- New-Item -Path .git/info -ItemType Directory
|
||||||
- New-Item .git/info/exclude -ItemType File -Value "/git-sdk"
|
- New-Item .git/info/exclude -ItemType File -Value "/git-sdk"
|
||||||
|
@ -150,18 +160,10 @@ test:mingw64:
|
||||||
tags:
|
tags:
|
||||||
- saas-windows-medium-amd64
|
- saas-windows-medium-amd64
|
||||||
before_script:
|
before_script:
|
||||||
- Set-MpPreference -DisableRealtimeMonitoring $true
|
- *windows_before_script
|
||||||
- choco install -y git meson ninja openssl
|
- choco install -y git meson ninja
|
||||||
- Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
|
- Import-Module $env:ChocolateyInstall\helpers\chocolateyProfile.psm1
|
||||||
- refreshenv
|
- refreshenv
|
||||||
# The certificate store for Python on Windows is broken and fails to fetch
|
|
||||||
# certificates, see https://bugs.python.org/issue36011. This seems to
|
|
||||||
# mostly be an issue with how the GitLab image is set up as it is a
|
|
||||||
# non-issue on GitHub Actions. Work around the issue by importing
|
|
||||||
# cetrificates manually.
|
|
||||||
- Invoke-WebRequest https://curl.haxx.se/ca/cacert.pem -OutFile cacert.pem
|
|
||||||
- openssl pkcs12 -export -nokeys -in cacert.pem -out certs.pfx -passout "pass:"
|
|
||||||
- Import-PfxCertificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath certs.pfx
|
|
||||||
|
|
||||||
build:msvc-meson:
|
build:msvc-meson:
|
||||||
extends: .msvc-meson
|
extends: .msvc-meson
|
||||||
|
@ -183,6 +185,9 @@ test:msvc-meson:
|
||||||
script:
|
script:
|
||||||
- meson test -C build --no-rebuild --print-errorlogs --slice $Env:CI_NODE_INDEX/$Env:CI_NODE_TOTAL
|
- meson test -C build --no-rebuild --print-errorlogs --slice $Env:CI_NODE_INDEX/$Env:CI_NODE_TOTAL
|
||||||
parallel: 10
|
parallel: 10
|
||||||
|
artifacts:
|
||||||
|
reports:
|
||||||
|
junit: build/meson-logs/testlog.junit.xml
|
||||||
|
|
||||||
test:fuzz-smoke-tests:
|
test:fuzz-smoke-tests:
|
||||||
image: ubuntu:latest
|
image: ubuntu:latest
|
||||||
|
|
|
@ -33,7 +33,6 @@ check_last_modified() {
|
||||||
done &&
|
done &&
|
||||||
|
|
||||||
cat >expect &&
|
cat >expect &&
|
||||||
test_when_finished "rm -f tmp.*" &&
|
|
||||||
git ${indir:+-C "$indir"} last-modified "$@" >tmp.1 &&
|
git ${indir:+-C "$indir"} last-modified "$@" >tmp.1 &&
|
||||||
git name-rev --annotate-stdin --name-only --tags \
|
git name-rev --annotate-stdin --name-only --tags \
|
||||||
<tmp.1 >tmp.2 &&
|
<tmp.1 >tmp.2 &&
|
||||||
|
@ -128,20 +127,25 @@ test_expect_success 'only last-modified files in the current tree' '
|
||||||
EOF
|
EOF
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'last-modified with subdir and criss-cross merge' '
|
test_expect_success 'subdirectory modified via merge' '
|
||||||
git checkout -b branch-k1 1 &&
|
test_when_finished rm -rf repo &&
|
||||||
mkdir -p a k &&
|
git init repo &&
|
||||||
test_commit k1 a/file2 &&
|
(
|
||||||
git checkout -b branch-k2 &&
|
cd repo &&
|
||||||
test_commit k2 k/file2 &&
|
test_commit base &&
|
||||||
git checkout branch-k1 &&
|
git switch --create left &&
|
||||||
test_merge km2 branch-k2 &&
|
mkdir subdir &&
|
||||||
test_merge km3 3 &&
|
test_commit left subdir/left &&
|
||||||
|
git switch --create right base &&
|
||||||
|
mkdir subdir &&
|
||||||
|
test_commit right subdir/right &&
|
||||||
|
git switch - &&
|
||||||
|
test_merge merge right &&
|
||||||
check_last_modified <<-\EOF
|
check_last_modified <<-\EOF
|
||||||
km3 a
|
merge subdir
|
||||||
k2 k
|
base base.t
|
||||||
1 file
|
|
||||||
EOF
|
EOF
|
||||||
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'cross merge boundaries in blaming' '
|
test_expect_success 'cross merge boundaries in blaming' '
|
||||||
|
|
Loading…
Reference in New Issue