]>
Commit | Line | Data |
---|---|---|
6c7cee42 RD |
1 | resources: |
2 | - repo: self | |
3 | ||
4 | trigger: | |
5 | - master | |
6 | - maint/* | |
7 | ||
8 | jobs: | |
0c9c969a UG |
9 | - job: linux_amd64_xenial_gcc_openssl |
10 | displayName: 'Linux (amd64; Xenial; GCC; OpenSSL)' | |
6c7cee42 | 11 | pool: |
66a70851 | 12 | vmImage: 'ubuntu-18.04' |
6c7cee42 | 13 | steps: |
ac3d33df | 14 | - template: azure-pipelines/docker.yml |
6c7cee42 | 15 | parameters: |
0c9c969a UG |
16 | docker: |
17 | image: xenial | |
18 | base: ubuntu:xenial | |
6c7cee42 RD |
19 | environmentVariables: | |
20 | CC=gcc | |
0c9c969a UG |
21 | CMAKE_GENERATOR=Ninja |
22 | CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON | |
23 | GITTEST_NEGOTIATE_PASSWORD=${{ variables.GITTEST_NEGOTIATE_PASSWORD }} | |
6c7cee42 | 24 | |
0c9c969a UG |
25 | - job: linux_amd64_xenial_gcc_mbedtls |
26 | displayName: 'Linux (amd64; Xenial; GCC; mbedTLS)' | |
6c7cee42 | 27 | pool: |
66a70851 | 28 | vmImage: 'ubuntu-18.04' |
6c7cee42 | 29 | steps: |
ac3d33df | 30 | - template: azure-pipelines/docker.yml |
6c7cee42 | 31 | parameters: |
0c9c969a UG |
32 | docker: |
33 | image: xenial | |
34 | base: ubuntu:xenial | |
ac3d33df JK |
35 | environmentVariables: | |
36 | CC=gcc | |
0c9c969a UG |
37 | CMAKE_GENERATOR=Ninja |
38 | CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON | |
39 | GITTEST_NEGOTIATE_PASSWORD=${{ variables.GITTEST_NEGOTIATE_PASSWORD }} | |
ac3d33df | 40 | |
0c9c969a UG |
41 | - job: linux_amd64_xenial_clang_openssl |
42 | displayName: 'Linux (amd64; Xenial; Clang; OpenSSL)' | |
ac3d33df | 43 | pool: |
66a70851 | 44 | vmImage: 'ubuntu-18.04' |
ac3d33df JK |
45 | steps: |
46 | - template: azure-pipelines/docker.yml | |
47 | parameters: | |
0c9c969a UG |
48 | docker: |
49 | image: xenial | |
50 | base: ubuntu:xenial | |
ac3d33df JK |
51 | environmentVariables: | |
52 | CC=clang | |
0c9c969a UG |
53 | CMAKE_GENERATOR=Ninja |
54 | CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON | |
55 | GITTEST_NEGOTIATE_PASSWORD=${{ variables.GITTEST_NEGOTIATE_PASSWORD }} | |
ac3d33df | 56 | |
0c9c969a UG |
57 | - job: linux_amd64_xenial_clang_mbedtls |
58 | displayName: 'Linux (amd64; Xenial; Clang; mbedTLS)' | |
ac3d33df | 59 | pool: |
66a70851 | 60 | vmImage: 'ubuntu-18.04' |
ac3d33df JK |
61 | steps: |
62 | - template: azure-pipelines/docker.yml | |
63 | parameters: | |
0c9c969a UG |
64 | docker: |
65 | image: xenial | |
66 | base: ubuntu:xenial | |
6c7cee42 RD |
67 | environmentVariables: | |
68 | CC=clang | |
0c9c969a UG |
69 | CMAKE_GENERATOR=Ninja |
70 | CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON | |
71 | GITTEST_NEGOTIATE_PASSWORD=${{ variables.GITTEST_NEGOTIATE_PASSWORD }} | |
6c7cee42 RD |
72 | |
73 | - job: macos | |
66a70851 | 74 | displayName: 'macOS (amd64; 10.15)' |
6c7cee42 | 75 | pool: |
66a70851 | 76 | vmImage: 'macOS-10.15' |
6c7cee42 | 77 | steps: |
0c9c969a | 78 | - bash: . '$(Build.SourcesDirectory)/azure-pipelines/setup-osx.sh' |
6c7cee42 | 79 | displayName: Setup |
ac3d33df | 80 | - template: azure-pipelines/bash.yml |
6c7cee42 RD |
81 | parameters: |
82 | environmentVariables: | |
83 | TMPDIR: $(Agent.TempDirectory) | |
84 | PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig | |
0c9c969a UG |
85 | CMAKE_GENERATOR: Ninja |
86 | CMAKE_OPTIONS: -DREGEX_BACKEND=regcomp_l -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=leaks -DUSE_GSSAPI=ON | |
ac3d33df | 87 | SKIP_SSH_TESTS: true |
0c9c969a | 88 | GITTEST_NEGOTIATE_PASSWORD: ${{ variables.GITTEST_NEGOTIATE_PASSWORD }} |
6c7cee42 RD |
89 | |
90 | - job: windows_vs_amd64 | |
ac3d33df | 91 | displayName: 'Windows (amd64; Visual Studio)' |
66a70851 UG |
92 | pool: |
93 | vmImage: 'vs2017-win2016' | |
6c7cee42 | 94 | steps: |
0c9c969a | 95 | - template: azure-pipelines/bash.yml |
6c7cee42 RD |
96 | parameters: |
97 | environmentVariables: | |
66a70851 UG |
98 | CMAKE_GENERATOR: Visual Studio 15 2017 |
99 | CMAKE_OPTIONS: -A x64 -DMSVC_CRTDBG=ON -DDEPRECATE_HARD=ON | |
0c9c969a UG |
100 | SKIP_SSH_TESTS: true |
101 | SKIP_NEGOTIATE_TESTS: true | |
6c7cee42 RD |
102 | |
103 | - job: windows_vs_x86 | |
ac3d33df | 104 | displayName: 'Windows (x86; Visual Studio)' |
66a70851 UG |
105 | pool: |
106 | vmImage: 'vs2017-win2016' | |
6c7cee42 | 107 | steps: |
0c9c969a | 108 | - template: azure-pipelines/bash.yml |
6c7cee42 RD |
109 | parameters: |
110 | environmentVariables: | |
66a70851 UG |
111 | CMAKE_GENERATOR: Visual Studio 15 2017 |
112 | CMAKE_OPTIONS: -A Win32 -DMSVC_CRTDBG=ON -DDEPRECATE_HARD=ON -DUSE_SHA1=HTTPS | |
0c9c969a UG |
113 | SKIP_SSH_TESTS: true |
114 | SKIP_NEGOTIATE_TESTS: true | |
6c7cee42 RD |
115 | |
116 | - job: windows_mingw_amd64 | |
ac3d33df | 117 | displayName: 'Windows (amd64; MinGW)' |
66a70851 UG |
118 | pool: |
119 | vmImage: 'vs2017-win2016' | |
6c7cee42 | 120 | steps: |
0c9c969a | 121 | - bash: . '$(Build.SourcesDirectory)\azure-pipelines\setup-mingw.sh' |
6c7cee42 RD |
122 | displayName: Setup |
123 | env: | |
124 | TEMP: $(Agent.TempDirectory) | |
125 | ARCH: amd64 | |
0c9c969a | 126 | - template: azure-pipelines/bash.yml |
6c7cee42 RD |
127 | parameters: |
128 | environmentVariables: | |
0c9c969a UG |
129 | BUILD_PATH: $(Agent.TempDirectory)\mingw64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\CMake\bin |
130 | CMAKE_GENERATOR: MinGW Makefiles | |
131 | CMAKE_OPTIONS: -DDEPRECATE_HARD=ON | |
132 | SKIP_SSH_TESTS: true | |
133 | SKIP_NEGOTIATE_TESTS: true | |
6c7cee42 RD |
134 | |
135 | - job: windows_mingw_x86 | |
ac3d33df | 136 | displayName: 'Windows (x86; MinGW)' |
66a70851 UG |
137 | pool: |
138 | vmImage: 'vs2017-win2016' | |
6c7cee42 | 139 | steps: |
0c9c969a | 140 | - bash: . '$(Build.SourcesDirectory)\azure-pipelines\setup-mingw.sh' |
6c7cee42 RD |
141 | displayName: Setup |
142 | workingDirectory: '$(Build.BinariesDirectory)' | |
143 | env: | |
144 | TEMP: $(Agent.TempDirectory) | |
145 | ARCH: x86 | |
0c9c969a | 146 | - template: azure-pipelines/bash.yml |
6c7cee42 RD |
147 | parameters: |
148 | environmentVariables: | |
0c9c969a UG |
149 | BUILD_PATH: $(Agent.TempDirectory)\mingw32\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\CMake\bin |
150 | CMAKE_GENERATOR: MinGW Makefiles | |
151 | CMAKE_OPTIONS: -DDEPRECATE_HARD=ON | |
152 | SKIP_SSH_TESTS: true | |
153 | SKIP_NEGOTIATE_TESTS: true | |
ac3d33df JK |
154 | |
155 | - job: documentation | |
156 | displayName: 'Generate Documentation' | |
157 | pool: | |
66a70851 | 158 | vmImage: 'ubuntu-18.04' |
ac3d33df | 159 | steps: |
0c9c969a UG |
160 | - script: | |
161 | cd $(Build.SourcesDirectory)/azure-pipelines/docker | |
162 | docker build -t libgit2/docurium --build-arg BASE=ubuntu:trusty -f docurium . | |
163 | displayName: 'Build Docker image' | |
ac3d33df JK |
164 | - script: | |
165 | git config user.name 'Documentation Generation' | |
0c9c969a UG |
166 | git config user.email 'libgit2@users.noreply.github.com' |
167 | git branch gh-pages origin/gh-pages | |
168 | docker run --rm -v $(Build.SourcesDirectory):/home/libgit2/source -w /home/libgit2/source libgit2/docurium:latest cm doc api.docurium | |
ac3d33df JK |
169 | git checkout gh-pages |
170 | cp -R * '$(Build.BinariesDirectory)' | |
0c9c969a | 171 | displayName: 'Generate Documentation' |
ac3d33df JK |
172 | - task: archivefiles@2 |
173 | displayName: 'Archive Documentation' | |
174 | inputs: | |
175 | rootFolderOrFile: '$(Build.BinariesDirectory)' | |
176 | includeRootFolder: false | |
177 | archiveFile: '$(Build.ArtifactStagingDirectory)/api-documentation.zip' | |
178 | - task: publishbuildartifacts@1 | |
0c9c969a | 179 | displayName: 'Upload Documentation Artifact' |
ac3d33df JK |
180 | inputs: |
181 | pathToPublish: '$(Build.ArtifactStagingDirectory)' | |
182 | artifactName: 'docs' | |
0c9c969a UG |
183 | - script: | |
184 | git remote -v | |
185 | echo 'machine github.com' > ~/.netrc | |
186 | echo 'login $(GITHUB_USERNAME)' >> ~/.netrc | |
187 | echo 'password $(GITHUB_PAT)' >> ~/.netrc | |
188 | git push origin gh-pages | |
189 | displayName: 'Publish Documentation' | |
190 | condition: and(eq(variables['Build.Repository.Name'], 'libgit2/libgit2'), eq(variables['Build.Reason'], 'IndividualCI')) |