1.test: 2 image: registry.gitlab.gnome.org/gnome/libxml2 3 variables: 4 BASE_CONFIG: "--with-legacy" 5 before_script: 6 - rm -rf libxml2-build 7 - mkdir libxml2-build 8 - ln -s /tests/xmlconf libxml2-build 9 script: 10 - sh .gitlab-ci/test.sh 11 12gcc: 13 extends: .test 14 variables: 15 CFLAGS: "-O2" 16 17gcc:c89: 18 extends: .test 19 variables: 20 CONFIG: "--without-python" 21 CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=600 -Wno-error=unused-function" 22 23gcc:minimum: 24 extends: .test 25 variables: 26 BASE_CONFIG: "--with-minimum" 27 CFLAGS: "-O2" 28 29gcc:medium: 30 extends: .test 31 variables: 32 BASE_CONFIG: "--with-minimum" 33 CONFIG: "--with-threads --with-tree --with-xpath --with-output --with-html --with-iso8859x --with-valid" 34 CFLAGS: "-O2" 35 36gcc:legacy: 37 extends: .test 38 only: 39 - schedules 40 variables: 41 BASE_CONFIG: "--with-legacy" 42 CFLAGS: "-O2" 43 44gcc:static: 45 extends: .test 46 variables: 47 CONFIG: "--disable-shared --without-python --without-modules" 48 CFLAGS: "-O2" 49 50clang:asan: 51 extends: .test 52 tags: 53 - asan 54 variables: 55 CONFIG: "--without-python" 56 CC: clang 57 CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all" 58 UBSAN_OPTIONS: "print_stacktrace=1" 59 ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" 60 61clang:msan: 62 extends: .test 63# only: 64# - schedules 65 variables: 66 CONFIG: "--without-python --without-zlib --without-lzma" 67 CC: clang 68 CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory" 69 MSAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" 70 71.mingw: 72 tags: 73 - win32-ps 74 variables: 75 BASE_CONFIG: "--with-legacy" 76 # Disabled for now, see #658 77 CONFIG: "--without-python" 78 CHERE_INVOKING: "yes" 79 before_script: 80 - $Env:Path="C:\msys64\usr\bin;$Env:Path" 81 - bash -lc 'sh .gitlab-ci/setup_mingw.sh autotools' 82 script: 83 - bash -lc 'sh .gitlab-ci/test.sh' 84 cache: 85 key: "$MSYSTEM" 86 paths: 87 - libxml2-build/xmlconf/ 88 89mingw:w64-x86_64:shared: 90 extends: .mingw 91 variables: 92 CFLAGS: "-O2" 93 MSYSTEM: MINGW64 94 95mingw:w64-i686:shared: 96 extends: .mingw 97 only: 98 - schedules 99 variables: 100 CFLAGS: "-O2" 101 MSYSTEM: MINGW32 102 103# Disabled, GCC missing? 104.mingw:msys:shared: 105 extends: .mingw 106 variables: 107 CFLAGS: "-O2" 108 MSYSTEM: MSYS 109 110.cmake:linux: 111 image: registry.gitlab.gnome.org/gnome/libxml2 112 before_script: 113 - rm -rf libxml2-build 114 - mkdir libxml2-build 115 - ln -s /tests/xmlconf libxml2-build 116 script: 117 - sh .gitlab-ci/test_cmake.sh 118 artifacts: 119 paths: 120 - libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz 121 expire_in: 1 day 122 123cmake:linux:gcc:shared: 124 extends: .cmake:linux 125 variables: 126 BUILD_SHARED_LIBS: "ON" 127 CC: gcc 128 SUFFIX: linux-gcc-shared 129 130cmake:linux:gcc:static: 131 extends: .cmake:linux 132 only: 133 - schedules 134 variables: 135 BUILD_SHARED_LIBS: "OFF" 136 CC: gcc 137 SUFFIX: linux-gcc-static 138 139cmake:linux:clang:shared: 140 extends: .cmake:linux 141 only: 142 - schedules 143 variables: 144 BUILD_SHARED_LIBS: "ON" 145 CC: clang 146 SUFFIX: linux-clang-shared 147 148cmake:linux:clang:static: 149 extends: .cmake:linux 150 only: 151 - schedules 152 variables: 153 BUILD_SHARED_LIBS: "OFF" 154 CC: clang 155 SUFFIX: linux-clang-static 156 157# cmake:mingw is currently broken for unknown reasons. 158# 159# Executing /mingw64/bin/cmake.exe with any arguments fails without error 160# message and exit code 127 since 2025-01-21. 161 162.cmake:mingw: 163 tags: 164 - win32-ps 165 variables: 166 CHERE_INVOKING: "yes" 167 before_script: 168 - $Env:Path="C:\msys64\usr\bin;$Env:Path" 169 - bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja' 170 script: 171 - bash -lc 'sh .gitlab-ci/test_cmake.sh -G Ninja' 172 cache: 173 key: "$MSYSTEM" 174 paths: 175 - libxml2-build/xmlconf/ 176 artifacts: 177 paths: 178 - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:SUFFIX.tar.gz 179 expire_in: 1 day 180 181cmake:mingw:w64-i686:shared: 182 extends: .cmake:mingw 183 only: 184 - schedules 185 variables: 186 BUILD_SHARED_LIBS: "ON" 187 MSYSTEM: MINGW32 188 SUFFIX: mingw-w64-i686-shared 189 190cmake:mingw:w64-i686:static: 191 extends: .cmake:mingw 192 only: 193 - schedules 194 variables: 195 BUILD_SHARED_LIBS: "OFF" 196 MSYSTEM: MINGW32 197 SUFFIX: mingw-w64-i686-static 198 199cmake:mingw:w64-x86_64:shared: 200 extends: .cmake:mingw 201 only: 202 - schedules 203 variables: 204 BUILD_SHARED_LIBS: "ON" 205 MSYSTEM: MINGW64 206 SUFFIX: mingw-w64-x86_64-shared 207 208cmake:mingw:w64-x86_64:static: 209 extends: .cmake:mingw 210 only: 211 - schedules 212 variables: 213 BUILD_SHARED_LIBS: "OFF" 214 MSYSTEM: MINGW64 215 SUFFIX: mingw-w64-x86_64-static 216 217.cmake:msvc: 218 tags: 219 - win32-ps 220 variables: 221 # MSVC warns when casting `const char **` to `void *` which is wrong. 222 # Disable warning C4090. 223 CFLAGS: /WX /wd4090 224 CMAKE_VERSION: 3.19.4 225 script: 226 - .gitlab-ci/Test-Msvc 227 cache: 228 key: "msvc" 229 paths: 230 - cmake-$Env:CMAKE_VERSION-win64-x64/ 231 - libxml2-build/xmlconf/ 232 - 7za.exe 233 artifacts: 234 paths: 235 - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z 236 expire_in: 1 day 237 238.cmake:msvc:v141: 239 extends: .cmake:msvc 240 variables: 241 CMAKE_GENERATOR: Visual Studio 15 2017 242 CMAKE_GENERATOR_TOOLSET: v141 243 244.cmake:msvc:v141:x64: 245 extends: .cmake:msvc:v141 246 variables: 247 CMAKE_GENERATOR_PLATFORM: x64 248 249cmake:msvc:v141:x64:shared: 250 extends: .cmake:msvc:v141:x64 251 variables: 252 BUILD_SHARED_LIBS: "ON" 253 SUFFIX: shared 254 255cmake:msvc:v141:x64:static: 256 extends: .cmake:msvc:v141:x64 257 only: 258 - schedules 259 variables: 260 BUILD_SHARED_LIBS: "OFF" 261 SUFFIX: static 262 263.cmake:msvc:v141:x86: 264 extends: .cmake:msvc:v141 265 only: 266 - schedules 267 variables: 268 CMAKE_GENERATOR_PLATFORM: Win32 269 270cmake:msvc:v141:x86:shared: 271 extends: .cmake:msvc:v141:x86 272 only: 273 - schedules 274 variables: 275 BUILD_SHARED_LIBS: "ON" 276 SUFFIX: shared 277 278cmake:msvc:v141:x86:static: 279 extends: .cmake:msvc:v141:x86 280 variables: 281 BUILD_SHARED_LIBS: "OFF" 282 SUFFIX: static 283 284meson: 285 image: registry.gitlab.gnome.org/gnome/libxml2 286 script: 287 - sh .gitlab-ci/test_meson.sh 288 289cmake:linux:gcc:shared: 290 extends: .cmake:linux 291 variables: 292 BUILD_SHARED_LIBS: "ON" 293 CC: gcc 294 SUFFIX: linux-gcc-shared 295 296dist: 297 image: registry.gitlab.gnome.org/gnome/libxml2 298 script: 299 - sh .gitlab-ci/dist.sh 300 artifacts: 301 paths: 302 - libxml2-dist/*.tar.xz 303 304pages: 305 script: 306 - mkdir -p public 307 - cp -r doc/devhelp doc/xmllint.html doc/xmlcatalog.html public 308 artifacts: 309 paths: 310 - public 311 exclude: 312 - public/devhelp/Makefile* 313 - public/devhelp/*.xsl 314 only: 315 - master@GNOME/libxml2 316 317downstream-nokogiri: 318 # owner: @flavorjones 319 image: ghcr.io/sparklemotion/nokogiri-test:upstream-libxml 320 script: 321 - .gitlab-ci/downstream-nokogiri.sh 322 323downstream-perl: 324 image: registry.gitlab.gnome.org/gnome/libxml2 325 script: 326 - sh .gitlab-ci/downstream-perl.sh 327