mirror of
https://github.com/git/git.git
synced 2024-12-01 05:54:16 +08:00
12a4aeaad8
* js/azure-pipelines-msvc: ci(visual-studio): actually run the tests in parallel ci(visual-studio): use strict compile flags, and optimization
546 lines
20 KiB
YAML
546 lines
20 KiB
YAML
variables:
|
|
Agent.Source.Git.ShallowFetchDepth: 1
|
|
|
|
jobs:
|
|
- job: windows_build
|
|
displayName: Windows Build
|
|
condition: succeeded()
|
|
pool: Hosted
|
|
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: Hosted
|
|
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: Hosted VS2017
|
|
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
|
|
- 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: Hosted
|
|
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: Hosted Ubuntu 1604
|
|
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: Hosted Ubuntu 1604
|
|
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: Hosted macOS
|
|
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: Hosted macOS
|
|
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: Hosted Ubuntu 1604
|
|
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: Hosted Ubuntu 1604
|
|
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" bash -lxc ci/run-linux32-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: 'ci/run-linux32-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: Hosted Ubuntu 1604
|
|
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: Hosted Ubuntu 1604
|
|
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)
|