|
28 | 28 | container: |
29 | 29 | - xenial |
30 | 30 | - bionic |
| 31 | + - focal |
31 | 32 | - docurium |
32 | 33 | runs-on: ubuntu-latest |
33 | 34 | steps: |
|
86 | 87 | CMAKE_OPTIONS: -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON |
87 | 88 | CMAKE_GENERATOR: Ninja |
88 | 89 | os: ubuntu-latest |
| 90 | + - # Focal, Clang 10, mbedTLS, MemorySanitizer |
| 91 | + image: focal |
| 92 | + env: |
| 93 | + CC: clang-10 |
| 94 | + CFLAGS: -fsanitize=memory -fsanitize-memory-track-origins=2 -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer |
| 95 | + CMAKE_OPTIONS: -DCMAKE_PREFIX_PATH=/usr/local/msan -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON |
| 96 | + CMAKE_GENERATOR: Ninja |
| 97 | + SKIP_SSH_TESTS: true |
| 98 | + ASAN_SYMBOLIZER_PATH: /usr/bin/llvm-symbolizer-10 |
| 99 | + os: ubuntu-latest |
| 100 | + - # Focal, Clang 10, OpenSSL, UndefinedBehaviorSanitizer |
| 101 | + image: focal |
| 102 | + env: |
| 103 | + CC: clang-10 |
| 104 | + CFLAGS: -fsanitize=undefined,nullability -fno-sanitize-recover=undefined,nullability -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer |
| 105 | + CMAKE_OPTIONS: -DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON |
| 106 | + CMAKE_GENERATOR: Ninja |
| 107 | + SKIP_SSH_TESTS: true |
| 108 | + ASAN_SYMBOLIZER_PATH: /usr/bin/llvm-symbolizer-10 |
| 109 | + os: ubuntu-latest |
89 | 110 | - # macOS |
90 | 111 | os: macos-10.15 |
91 | 112 | env: |
@@ -161,7 +182,21 @@ jobs: |
161 | 182 | export GITTEST_NEGOTIATE_PASSWORD="${{ secrets.GITTEST_NEGOTIATE_PASSWORD }}" |
162 | 183 |
|
163 | 184 | if [ -n "${{ matrix.platform.image }}" ]; then |
164 | | - docker run -v $(pwd):/home/libgit2/source -w /home/libgit2/source -e CC -e CMAKE_GENERATOR -e CMAKE_OPTIONS -e PKG_CONFIG_PATH -e GITTEST_NEGOTIATE_PASSWORD -e SKIP_SSH_TESTS -e SKIP_NEGOTIATE_TESTS ${{ env.docker-registry-container-sha }} /bin/bash -c "mkdir build && cd build && ../azure-pipelines/build.sh && ../azure-pipelines/test.sh" |
| 185 | + docker run \ |
| 186 | + --rm \ |
| 187 | + -v "$(pwd):/home/libgit2/source" \ |
| 188 | + -w /home/libgit2/source \ |
| 189 | + -e ASAN_SYMBOLIZER_PATH \ |
| 190 | + -e CC \ |
| 191 | + -e CFLAGS \ |
| 192 | + -e CMAKE_GENERATOR \ |
| 193 | + -e CMAKE_OPTIONS \ |
| 194 | + -e GITTEST_NEGOTIATE_PASSWORD \ |
| 195 | + -e PKG_CONFIG_PATH \ |
| 196 | + -e SKIP_NEGOTIATE_TESTS \ |
| 197 | + -e SKIP_SSH_TESTS \ |
| 198 | + ${{ env.docker-registry-container-sha }} \ |
| 199 | + /bin/bash -c "mkdir build && cd build && ../azure-pipelines/build.sh && ../azure-pipelines/test.sh" |
165 | 200 | else |
166 | 201 | mkdir build && cd build |
167 | 202 | ../azure-pipelines/build.sh |
@@ -189,7 +224,12 @@ jobs: |
189 | 224 | git config user.email 'libgit2@users.noreply.github.com' |
190 | 225 | git branch gh-pages origin/gh-pages |
191 | 226 | docker login https://${{ env.docker-registry }} -u ${{ github.actor }} -p ${{ github.token }} |
192 | | - docker run --rm -v $(pwd):/home/libgit2/source -w /home/libgit2/source ${{ env.docker-registry }}/${{ github.repository }}/docurium:latest cm doc api.docurium |
| 227 | + docker run \ |
| 228 | + --rm \ |
| 229 | + -v "$(pwd):/home/libgit2/source" \ |
| 230 | + -w /home/libgit2/source \ |
| 231 | + ${{ env.docker-registry }}/${{ github.repository }}/docurium:latest \ |
| 232 | + cm doc api.docurium |
193 | 233 | git checkout gh-pages |
194 | 234 | zip --exclude .git/\* --exclude .gitignore --exclude .gitattributes -r api-documentation.zip . |
195 | 235 | - uses: actions/upload-artifact@v2 |
|
0 commit comments