mirror of
https://github.com/libgit2/libgit2.git
synced 2026-06-22 06:26:26 +00:00
We currently unconditionally override the PATH variable with a custom path with the main intent of making available our own custom MinGW installation. This worked quite well so far, but is heavily dependent on the machine we're running this on. And naturally, it fails on the new Windows machines we need to upgrade to, as tools like CMake are not contained in the path we currently set up. Fix this by remodeling the way we set up the PATH environment. Instead of overriding it completely, we now override it only when executing the CMake build.
152 lines
4.7 KiB
YAML
152 lines
4.7 KiB
YAML
resources:
|
|
- repo: self
|
|
|
|
trigger:
|
|
- master
|
|
- maint/*
|
|
|
|
jobs:
|
|
- job: linux_amd64_trusty_gcc_openssl
|
|
displayName: 'Linux (amd64; Trusty; GCC; OpenSSL)'
|
|
pool:
|
|
vmImage: 'Ubuntu 16.04'
|
|
steps:
|
|
- template: azure-pipelines/docker.yml
|
|
parameters:
|
|
imageName: 'libgit2/trusty-amd64:latest'
|
|
environmentVariables: |
|
|
CC=gcc
|
|
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
|
|
LEAK_CHECK=valgrind
|
|
|
|
- job: linux_amd64_trusty_gcc_mbedtls
|
|
displayName: 'Linux (amd64; Trusty; GCC; mbedTLS)'
|
|
pool:
|
|
vmImage: 'Ubuntu 16.04'
|
|
steps:
|
|
- template: azure-pipelines/docker.yml
|
|
parameters:
|
|
imageName: 'libgit2/trusty-amd64:latest'
|
|
environmentVariables: |
|
|
CC=gcc
|
|
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON
|
|
LEAK_CHECK=valgrind
|
|
|
|
- job: linux_amd64_trusty_clang_openssl
|
|
displayName: 'Linux (amd64; Trusty; Clang; OpenSSL)'
|
|
pool:
|
|
vmImage: 'Ubuntu 16.04'
|
|
steps:
|
|
- template: azure-pipelines/docker.yml
|
|
parameters:
|
|
imageName: 'libgit2/trusty-amd64:latest'
|
|
environmentVariables: |
|
|
CC=clang
|
|
CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
|
|
LEAK_CHECK=valgrind
|
|
|
|
- job: linux_amd64_trusty_clang_mbedtls
|
|
displayName: 'Linux (amd64; Trusty; Clang; mbedTLS)'
|
|
pool:
|
|
vmImage: 'Ubuntu 16.04'
|
|
steps:
|
|
- template: azure-pipelines/docker.yml
|
|
parameters:
|
|
imageName: 'libgit2/trusty-amd64:latest'
|
|
environmentVariables: |
|
|
CC=clang
|
|
CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON
|
|
LEAK_CHECK=valgrind
|
|
|
|
- job: macos
|
|
displayName: 'macOS'
|
|
pool:
|
|
vmImage: 'macOS-10.14'
|
|
steps:
|
|
- bash: . '$(Build.SourcesDirectory)/ci/setup-osx.sh'
|
|
displayName: Setup
|
|
- template: azure-pipelines/bash.yml
|
|
parameters:
|
|
environmentVariables:
|
|
TMPDIR: $(Agent.TempDirectory)
|
|
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
|
|
LEAK_CHECK: leaks
|
|
CMAKE_OPTIONS: -G Ninja -DDEPRECATE_HARD=ON
|
|
SKIP_SSH_TESTS: true
|
|
|
|
- job: windows_vs_amd64
|
|
displayName: 'Windows (amd64; Visual Studio)'
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
- template: azure-pipelines/powershell.yml
|
|
parameters:
|
|
environmentVariables:
|
|
CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 15 2017" -A x64 -DDEPRECATE_HARD=ON
|
|
|
|
- job: windows_vs_x86
|
|
displayName: 'Windows (x86; Visual Studio)'
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
- template: azure-pipelines/powershell.yml
|
|
parameters:
|
|
environmentVariables:
|
|
CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 15 2017" -A Win32 -DDEPRECATE_HARD=ON
|
|
|
|
- job: windows_mingw_amd64
|
|
displayName: 'Windows (amd64; MinGW)'
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
- powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
|
|
displayName: Setup
|
|
env:
|
|
TEMP: $(Agent.TempDirectory)
|
|
ARCH: amd64
|
|
- template: azure-pipelines/powershell.yml
|
|
parameters:
|
|
environmentVariables:
|
|
BUILD_PATH: $(Agent.TempDirectory)\mingw64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
|
|
CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
|
|
|
|
- job: windows_mingw_x86
|
|
displayName: 'Windows (x86; MinGW)'
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
- powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
|
|
displayName: Setup
|
|
workingDirectory: '$(Build.BinariesDirectory)'
|
|
env:
|
|
TEMP: $(Agent.TempDirectory)
|
|
ARCH: x86
|
|
- template: azure-pipelines/powershell.yml
|
|
parameters:
|
|
environmentVariables:
|
|
BUILD_PATH: $(Agent.TempDirectory)\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
|
|
CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
|
|
|
|
- job: documentation
|
|
displayName: 'Generate Documentation'
|
|
pool:
|
|
vmImage: 'Ubuntu 16.04'
|
|
steps:
|
|
- script: |
|
|
git config user.name 'Documentation Generation'
|
|
git config user.email 'noreply@libgit2.org'
|
|
docker run --rm -v /home/vsts/work/1/s:/src -w /src libgit2/docurium:test cm doc api.docurium
|
|
git checkout gh-pages
|
|
cp -R * '$(Build.BinariesDirectory)'
|
|
- task: archivefiles@2
|
|
displayName: 'Archive Documentation'
|
|
inputs:
|
|
rootFolderOrFile: '$(Build.BinariesDirectory)'
|
|
includeRootFolder: false
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/api-documentation.zip'
|
|
- task: publishbuildartifacts@1
|
|
displayName: 'Upload Documentation'
|
|
inputs:
|
|
pathToPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: 'docs'
|