forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: reinstate Azure Pipelines support
... so that we can test a MinGit backport in a private repository (with GitHub Actions, minutes and parallel jobs are limited way more than with Azure Pipelines in private repositories). In this commit, we reinstate the exact version of `azure-pipelines.yml` as 6081d38 (ci: retire the Azure Pipelines definition, 2020-04-11) deleted. Naturally, many adjustments are required to make it work again. Some of the changes are actually outside of that file (such as the `runs_on_pool` changes that are needed in the Azure Pipelines part of `ci/lib.sh`) and they were made in the commits leading up to this here commit. However, other adjustments are required in the `azure-pipelines.yml` file itself, and for ease of review (read: to build confidence in those changes) they will be made in subsequent, individual commits that explain the intent, context, implementation and justification like every good commit message should do. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Showing
1 changed file
with
558 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,558 @@ | ||
variables: | ||
Agent.Source.Git.ShallowFetchDepth: 1 | ||
|
||
jobs: | ||
- job: windows_build | ||
displayName: Windows Build | ||
condition: succeeded() | ||
pool: | ||
vmImage: windows-latest | ||
timeoutInMinutes: 240 | ||
steps: | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no | ||
cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\ | ||
} | ||
displayName: 'Mount test-cache' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- powershell: | | ||
$urlbase = "https://dev.azure.com/git-for-windows/git/_apis/build/builds" | ||
$id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=22&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id | ||
$downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[1].resource.downloadUrl | ||
(New-Object Net.WebClient).DownloadFile($downloadUrl,"git-sdk-64-minimal.zip") | ||
Expand-Archive git-sdk-64-minimal.zip -DestinationPath . -Force | ||
Remove-Item git-sdk-64-minimal.zip | ||
# Let Git ignore the SDK and the test-cache | ||
"/git-sdk-64-minimal/`n/test-cache/`n" | Out-File -NoNewLine -Encoding ascii -Append "$(Build.SourcesDirectory)\.git\info\exclude" | ||
displayName: 'Download git-sdk-64-minimal' | ||
- powershell: | | ||
& git-sdk-64-minimal\usr\bin\bash.exe -lc @" | ||
ci/make-test-artifacts.sh artifacts | ||
"@ | ||
if (!$?) { exit(1) } | ||
displayName: Build | ||
env: | ||
HOME: $(Build.SourcesDirectory) | ||
MSYSTEM: MINGW64 | ||
DEVELOPER: 1 | ||
NO_PERL: 1 | ||
- task: PublishPipelineArtifact@0 | ||
displayName: 'Publish Pipeline Artifact: test artifacts' | ||
inputs: | ||
artifactName: 'windows-artifacts' | ||
targetPath: '$(Build.SourcesDirectory)\artifacts' | ||
- task: PublishPipelineArtifact@0 | ||
displayName: 'Publish Pipeline Artifact: git-sdk-64-minimal' | ||
inputs: | ||
artifactName: 'git-sdk-64-minimal' | ||
targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal' | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
cmd /c rmdir "$(Build.SourcesDirectory)\test-cache" | ||
} | ||
displayName: 'Unmount test-cache' | ||
condition: true | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- job: windows_test | ||
displayName: Windows Test | ||
dependsOn: windows_build | ||
condition: succeeded() | ||
pool: | ||
vmImage: windows-latest | ||
timeoutInMinutes: 240 | ||
strategy: | ||
parallel: 10 | ||
steps: | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no | ||
cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\ | ||
} | ||
displayName: 'Mount test-cache' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: DownloadPipelineArtifact@0 | ||
displayName: 'Download Pipeline Artifact: test artifacts' | ||
inputs: | ||
artifactName: 'windows-artifacts' | ||
targetPath: '$(Build.SourcesDirectory)' | ||
- task: DownloadPipelineArtifact@0 | ||
displayName: 'Download Pipeline Artifact: git-sdk-64-minimal' | ||
inputs: | ||
artifactName: 'git-sdk-64-minimal' | ||
targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal' | ||
- powershell: | | ||
& git-sdk-64-minimal\usr\bin\bash.exe -lc @" | ||
test -f artifacts.tar.gz || { | ||
echo No test artifacts found\; skipping >&2 | ||
exit 0 | ||
} | ||
tar xf artifacts.tar.gz || exit 1 | ||
# 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 `$SYSTEM_JOBPOSITIONINPHASE `$SYSTEM_TOTALJOBSINPHASE || { | ||
ci/print-test-failures.sh | ||
exit 1 | ||
} | ||
"@ | ||
if (!$?) { exit(1) } | ||
displayName: 'Test (parallel)' | ||
env: | ||
HOME: $(Build.SourcesDirectory) | ||
MSYSTEM: MINGW64 | ||
NO_SVN_TESTS: 1 | ||
GIT_TEST_SKIP_REBASE_P: 1 | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
cmd /c rmdir "$(Build.SourcesDirectory)\test-cache" | ||
} | ||
displayName: 'Unmount test-cache' | ||
condition: true | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'windows' | ||
platform: Windows | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: vs_build | ||
displayName: Visual Studio Build | ||
condition: succeeded() | ||
pool: | ||
vmImage: windows-latest | ||
timeoutInMinutes: 240 | ||
steps: | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no | ||
cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\ | ||
} | ||
displayName: 'Mount test-cache' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- powershell: | | ||
$urlbase = "https://dev.azure.com/git-for-windows/git/_apis/build/builds" | ||
$id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=22&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id | ||
$downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[1].resource.downloadUrl | ||
(New-Object Net.WebClient).DownloadFile($downloadUrl,"git-sdk-64-minimal.zip") | ||
Expand-Archive git-sdk-64-minimal.zip -DestinationPath . -Force | ||
Remove-Item git-sdk-64-minimal.zip | ||
# Let Git ignore the SDK and the test-cache | ||
"/git-sdk-64-minimal/`n/test-cache/`n" | Out-File -NoNewLine -Encoding ascii -Append "$(Build.SourcesDirectory)\.git\info\exclude" | ||
displayName: 'Download git-sdk-64-minimal' | ||
- powershell: | | ||
& git-sdk-64-minimal\usr\bin\bash.exe -lc @" | ||
make NDEBUG=1 DEVELOPER=1 vcxproj | ||
"@ | ||
if (!$?) { exit(1) } | ||
displayName: Generate Visual Studio Solution | ||
env: | ||
HOME: $(Build.SourcesDirectory) | ||
MSYSTEM: MINGW64 | ||
DEVELOPER: 1 | ||
NO_PERL: 1 | ||
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'" | ||
- powershell: | | ||
$urlbase = "https://dev.azure.com/git/git/_apis/build/builds" | ||
$id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=9&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id | ||
$downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[0].resource.downloadUrl | ||
(New-Object Net.WebClient).DownloadFile($downloadUrl, "compat.zip") | ||
Expand-Archive compat.zip -DestinationPath . -Force | ||
Remove-Item compat.zip | ||
displayName: 'Download vcpkg artifacts' | ||
- task: MSBuild@1 | ||
inputs: | ||
solution: git.sln | ||
platform: x64 | ||
configuration: Release | ||
maximumCpuCount: 4 | ||
msbuildArguments: /p:PlatformToolset=v142 | ||
- powershell: | | ||
& 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 | grep ^tar)\" | ||
"@ | ||
if (!$?) { exit(1) } | ||
displayName: Bundle artifact tar | ||
env: | ||
HOME: $(Build.SourcesDirectory) | ||
MSYSTEM: MINGW64 | ||
DEVELOPER: 1 | ||
NO_PERL: 1 | ||
MSVC: 1 | ||
VCPKG_ROOT: $(Build.SourcesDirectory)\compat\vcbuild\vcpkg | ||
- powershell: | | ||
$tag = (Invoke-WebRequest -UseBasicParsing "https://gitforwindows.org/latest-tag.txt").content | ||
$version = (Invoke-WebRequest -UseBasicParsing "https://gitforwindows.org/latest-version.txt").content | ||
$url = "https://github.com/git-for-windows/git/releases/download/${tag}/PortableGit-${version}-64-bit.7z.exe" | ||
(New-Object Net.WebClient).DownloadFile($url,"PortableGit.exe") | ||
& .\PortableGit.exe -y -oartifacts\PortableGit | ||
# Wait until it is unpacked | ||
while (-not @(Remove-Item -ErrorAction SilentlyContinue PortableGit.exe; $?)) { sleep 1 } | ||
displayName: Download & extract portable Git | ||
- task: PublishPipelineArtifact@0 | ||
displayName: 'Publish Pipeline Artifact: MSVC test artifacts' | ||
inputs: | ||
artifactName: 'vs-artifacts' | ||
targetPath: '$(Build.SourcesDirectory)\artifacts' | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
cmd /c rmdir "$(Build.SourcesDirectory)\test-cache" | ||
} | ||
displayName: 'Unmount test-cache' | ||
condition: true | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- job: vs_test | ||
displayName: Visual Studio Test | ||
dependsOn: vs_build | ||
condition: succeeded() | ||
pool: | ||
vmImage: windows-latest | ||
timeoutInMinutes: 240 | ||
strategy: | ||
parallel: 10 | ||
steps: | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no | ||
cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\ | ||
} | ||
displayName: 'Mount test-cache' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: DownloadPipelineArtifact@0 | ||
displayName: 'Download Pipeline Artifact: VS test artifacts' | ||
inputs: | ||
artifactName: 'vs-artifacts' | ||
targetPath: '$(Build.SourcesDirectory)' | ||
- powershell: | | ||
& PortableGit\git-cmd.exe --command=usr\bin\bash.exe -lc @" | ||
test -f artifacts.tar.gz || { | ||
echo No test artifacts found\; skipping >&2 | ||
exit 0 | ||
} | ||
tar xf artifacts.tar.gz || exit 1 | ||
# Let Git ignore the SDK and the test-cache | ||
printf '%s\n' /PortableGit/ /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 \ | ||
`$SYSTEM_JOBPOSITIONINPHASE `$SYSTEM_TOTALJOBSINPHASE t[0-9]*.sh) | ||
"@ | ||
if (!$?) { exit(1) } | ||
displayName: 'Test (parallel)' | ||
env: | ||
HOME: $(Build.SourcesDirectory) | ||
MSYSTEM: MINGW64 | ||
NO_SVN_TESTS: 1 | ||
GIT_TEST_SKIP_REBASE_P: 1 | ||
- powershell: | | ||
if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") { | ||
cmd /c rmdir "$(Build.SourcesDirectory)\test-cache" | ||
} | ||
displayName: 'Unmount test-cache' | ||
condition: true | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'vs' | ||
platform: Windows | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-vs-test-artifacts | ||
|
||
- job: linux_clang | ||
displayName: linux-clang | ||
condition: succeeded() | ||
pool: | ||
vmImage: ubuntu-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
sudo apt-get update && | ||
sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2-bin && | ||
export CC=clang || exit 1 | ||
ci/install-dependencies.sh || exit 1 | ||
ci/run-build-and-tests.sh || { | ||
ci/print-test-failures.sh | ||
exit 1 | ||
} | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/run-build-and-tests.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'linux-clang' | ||
platform: Linux | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: linux_gcc | ||
displayName: linux-gcc | ||
condition: succeeded() | ||
pool: | ||
vmImage: ubuntu-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test && | ||
sudo apt-get update && | ||
sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2 language-pack-is git-svn gcc-8 || exit 1 | ||
ci/install-dependencies.sh || exit 1 | ||
ci/run-build-and-tests.sh || { | ||
ci/print-test-failures.sh | ||
exit 1 | ||
} | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/run-build-and-tests.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'linux-gcc' | ||
platform: Linux | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: osx_clang | ||
displayName: osx-clang | ||
condition: succeeded() | ||
pool: | ||
vmImage: macOS-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
export CC=clang | ||
ci/install-dependencies.sh || exit 1 | ||
ci/run-build-and-tests.sh || { | ||
ci/print-test-failures.sh | ||
exit 1 | ||
} | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/run-build-and-tests.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'osx-clang' | ||
platform: macOS | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: osx_gcc | ||
displayName: osx-gcc | ||
condition: succeeded() | ||
pool: | ||
vmImage: macOS-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
ci/install-dependencies.sh || exit 1 | ||
ci/run-build-and-tests.sh || { | ||
ci/print-test-failures.sh | ||
exit 1 | ||
} | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/run-build-and-tests.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'osx-gcc' | ||
platform: macOS | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: gettext_poison | ||
displayName: GETTEXT_POISON | ||
condition: succeeded() | ||
pool: | ||
vmImage: ubuntu-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
sudo apt-get update && | ||
sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev && | ||
export jobname=GETTEXT_POISON || exit 1 | ||
ci/run-build-and-tests.sh || { | ||
ci/print-test-failures.sh | ||
exit 1 | ||
} | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/run-build-and-tests.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'gettext-poison' | ||
platform: Linux | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: linux32 | ||
displayName: Linux32 | ||
condition: succeeded() | ||
pool: | ||
vmImage: ubuntu-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
res=0 | ||
sudo AGENT_OS="$AGENT_OS" BUILD_BUILDNUMBER="$BUILD_BUILDNUMBER" BUILD_REPOSITORY_URI="$BUILD_REPOSITORY_URI" BUILD_SOURCEBRANCH="$BUILD_SOURCEBRANCH" BUILD_SOURCEVERSION="$BUILD_SOURCEVERSION" SYSTEM_PHASENAME="$SYSTEM_PHASENAME" SYSTEM_TASKDEFINITIONSURI="$SYSTEM_TASKDEFINITIONSURI" SYSTEM_TEAMPROJECT="$SYSTEM_TEAMPROJECT" CC=$CC MAKEFLAGS="$MAKEFLAGS" jobname=Linux32 bash -lxc ci/run-docker.sh || res=1 | ||
sudo chmod a+r t/out/TEST-*.xml | ||
test ! -d t/failed-test-artifacts || sudo chmod a+r t/failed-test-artifacts | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || res=1 | ||
exit $res | ||
displayName: 'jobname=Linux32 ci/run-docker.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results **/TEST-*.xml' | ||
inputs: | ||
mergeTestResults: true | ||
testRunTitle: 'linux32' | ||
platform: Linux | ||
publishRunAttachments: false | ||
condition: succeededOrFailed() | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish trash directories of failed tests' | ||
condition: failed() | ||
inputs: | ||
PathtoPublish: t/failed-test-artifacts | ||
ArtifactName: failed-test-artifacts | ||
|
||
- job: static_analysis | ||
displayName: StaticAnalysis | ||
condition: succeeded() | ||
pool: | ||
vmImage: ubuntu-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
sudo apt-get update && | ||
sudo apt-get install -y coccinelle libcurl4-openssl-dev libssl-dev libexpat-dev gettext && | ||
export jobname=StaticAnalysis && | ||
ci/run-static-analysis.sh || exit 1 | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/run-static-analysis.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) | ||
- job: documentation | ||
displayName: Documentation | ||
condition: succeeded() | ||
pool: | ||
vmImage: ubuntu-latest | ||
steps: | ||
- bash: | | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1 | ||
sudo apt-get update && | ||
sudo apt-get install -y asciidoc xmlto asciidoctor docbook-xsl-ns && | ||
export ALREADY_HAVE_ASCIIDOCTOR=yes. && | ||
export jobname=Documentation && | ||
ci/test-documentation.sh || exit 1 | ||
test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1 | ||
displayName: 'ci/test-documentation.sh' | ||
env: | ||
GITFILESHAREPWD: $(gitfileshare.pwd) |