summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2019-02-28 10:44:34 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2019-02-28 10:44:34 +0000
commit1fe3fa5e59818c851d50efc6563db5f8a5d7ae9b (patch)
tree33c8a6b6acec47d40f01370300e18adf95f6a2b1
parentb401273b02896eea7abe0063f103cdadfe91d206 (diff)
downloadlibgit2-1fe3fa5e59818c851d50efc6563db5f8a5d7ae9b.tar.gz
foo
-rw-r--r--azure-pipelines.yml296
-rw-r--r--azure-pipelines/ssh.yml32
2 files changed, 186 insertions, 142 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 957dd27e6..7386eb516 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -6,152 +6,164 @@ trigger:
- maint/*
jobs:
-- job: linux_amd64_trusty_gcc_openssl
- displayName: 'Linux (amd64; Trusty; GCC; OpenSSL)'
+- job: freebsd
+ displayName: 'FreeBSD (amd64; 12.0)'
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.13'
- steps:
- - bash: . '$(Build.SourcesDirectory)/ci/setup-osx.sh'
- displayName: Setup
- - template: azure-pipelines/bash.yml
+ - template: azure-pipelines/ssh.yml
parameters:
+ remoteHost: 'build@13.92.132.220'
environmentVariables:
- TMPDIR: $(Agent.TempDirectory)
- PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
- LEAK_CHECK: leaks
- CMAKE_OPTIONS: -G Ninja -DDEPRECATE_HARD=ON
+ CMAKE_OPTIONS: -DDEPRECATE_HARD=ON
SKIP_SSH_TESTS: true
-- job: windows_vs_amd64
- displayName: 'Windows (amd64; Visual Studio)'
- pool: Hosted
- steps:
- - template: azure-pipelines/powershell.yml
- parameters:
- environmentVariables:
- CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" -DDEPRECATE_HARD=ON
-
-- job: windows_vs_x86
- displayName: 'Windows (x86; Visual Studio)'
- pool: Hosted
- steps:
- - template: azure-pipelines/powershell.yml
- parameters:
- environmentVariables:
- CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" -DDEPRECATE_HARD=ON
-
-- job: windows_mingw_amd64
- displayName: 'Windows (amd64; MinGW)'
- pool: Hosted
- steps:
- - powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
- displayName: Setup
- env:
- TEMP: $(Agent.TempDirectory)
- ARCH: amd64
- - template: azure-pipelines/powershell.yml
- parameters:
- environmentVariables:
- CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
- 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
-
-- job: windows_mingw_x86
- displayName: 'Windows (x86; MinGW)'
- pool: Hosted
- 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:
- CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
- 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
-
-- job: documentation
- displayName: 'Generate Documentation'
- pool:
- vmImage: 'Ubuntu 16.04'
- steps:
- - script: |
- git config user.name 'Documentation Generation'
- git config user.email 'libgit2@users.noreply.github.com'
- git branch gh-pages origin/gh-pages
- docker run --rm -v $(Build.SourcesDirectory):/src -w /src libgit2/docurium:latest cm doc api.docurium
- git checkout gh-pages
- cp -R * '$(Build.BinariesDirectory)'
- displayName: 'Generate Documentation'
- - task: archivefiles@2
- displayName: 'Archive Documentation'
- inputs:
- rootFolderOrFile: '$(Build.BinariesDirectory)'
- includeRootFolder: false
- archiveFile: '$(Build.ArtifactStagingDirectory)/api-documentation.zip'
- - task: publishbuildartifacts@1
- displayName: 'Upload Documentation Artifact'
- inputs:
- pathToPublish: '$(Build.ArtifactStagingDirectory)'
- artifactName: 'docs'
- - script: |
- git remote -v
- echo 'machine github.com' > ~/.netrc
- echo 'login $(GITHUB_USERNAME)' >> ~/.netrc
- echo 'password $(GITHUB_PAT)' >> ~/.netrc
- git push origin gh-pages
- displayName: 'Publish Documentation'
- condition: eq(variables['Build.Reason'], 'IndividualCI')
+#- 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.13'
+# 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: Hosted
+# steps:
+# - template: azure-pipelines/powershell.yml
+# parameters:
+# environmentVariables:
+# CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" -DDEPRECATE_HARD=ON
+#
+#- job: windows_vs_x86
+# displayName: 'Windows (x86; Visual Studio)'
+# pool: Hosted
+# steps:
+# - template: azure-pipelines/powershell.yml
+# parameters:
+# environmentVariables:
+# CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" -DDEPRECATE_HARD=ON
+#
+#- job: windows_mingw_amd64
+# displayName: 'Windows (amd64; MinGW)'
+# pool: Hosted
+# steps:
+# - powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
+# displayName: Setup
+# env:
+# TEMP: $(Agent.TempDirectory)
+# ARCH: amd64
+# - template: azure-pipelines/powershell.yml
+# parameters:
+# environmentVariables:
+# CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
+# 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
+#
+#- job: windows_mingw_x86
+# displayName: 'Windows (x86; MinGW)'
+# pool: Hosted
+# 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:
+# CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
+# 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
+#
+#- job: documentation
+# displayName: 'Generate Documentation'
+# pool:
+# vmImage: 'Ubuntu 16.04'
+# steps:
+# - script: |
+# git config user.name 'Documentation Generation'
+# git config user.email 'libgit2@users.noreply.github.com'
+# git branch gh-pages origin/gh-pages
+# docker run --rm -v $(Build.SourcesDirectory):/src -w /src libgit2/docurium:latest cm doc api.docurium
+# git checkout gh-pages
+# cp -R * '$(Build.BinariesDirectory)'
+# displayName: 'Generate Documentation'
+# - task: archivefiles@2
+# displayName: 'Archive Documentation'
+# inputs:
+# rootFolderOrFile: '$(Build.BinariesDirectory)'
+# includeRootFolder: false
+# archiveFile: '$(Build.ArtifactStagingDirectory)/api-documentation.zip'
+# - task: publishbuildartifacts@1
+# displayName: 'Upload Documentation Artifact'
+# inputs:
+# pathToPublish: '$(Build.ArtifactStagingDirectory)'
+# artifactName: 'docs'
+# - script: |
+# git remote -v
+# echo 'machine github.com' > ~/.netrc
+# echo 'login $(GITHUB_USERNAME)' >> ~/.netrc
+# echo 'password $(GITHUB_PAT)' >> ~/.netrc
+# git push origin gh-pages
+# displayName: 'Publish Documentation'
+# condition: eq(variables['Build.Reason'], 'IndividualCI')
diff --git a/azure-pipelines/ssh.yml b/azure-pipelines/ssh.yml
new file mode 100644
index 000000000..7addb022f
--- /dev/null
+++ b/azure-pipelines/ssh.yml
@@ -0,0 +1,32 @@
+# These are the steps used for ssh'ing into a remote host to build and test.
+steps:
+- task: SSH@0
+ displayName: 'Create Build Directory'
+ inputs:
+ sshEndpoint: freebsd
+ commands: |
+ set -e
+ REMOTE_BASEDIR=$(mktemp -d -t build)
+ REMOTE_SOURCEDIR="${REMOTE_BASEDIR}/src"
+ REMOTE_OUTPUTDIR="${REMOTE_BASEDIR}/build"
+ mkdir "${REMOTE_SOURCEDIR}"
+ mkdir "${REMOTE_OUTPUTDIR}"
+ echo "##vso[task.setvariable variable=Remote.BaseDir]${REMOTE_BASEDIR}"
+ echo "##vso[task.setvariable variable=Remote.SourceDir]${REMOTE_SOURCEDIR}"
+ echo "##vso[task.setvariable variable=Remote.OutputDir]${REMOTE_OUTPUTDIR}"
+
+- task: CopyFilesOverSSH@0
+ displayName: 'Securely copy files to the remote machine'
+ inputs:
+ sshEndpoint: freebsd
+ sourceFolder: '$(Build.SourcesDirectory)'
+ targetFolder: '$(Remote.SourceDir)'
+
+- task: SSH@0
+ displayName: 'Create Build Directory'
+ inputs:
+ sshEndpoint: freebsd
+ commands: |
+ set -e
+ cd $(Remote.OutputDir)
+ $(Remote.SourceDir)/ci/build.sh