.test: image: registry.gitlab.gnome.org/gnome/libxml2 variables: BASE_CONFIG: "--with-ftp --with-legacy --with-xptr-locs" before_script: - rm -rf libxml2-build - mkdir libxml2-build - ln -s /tests/xmlconf libxml2-build script: - sh .gitlab-ci/test.sh gcc: extends: .test variables: CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700" gcc:minimum: extends: .test variables: BASE_CONFIG: "--with-minimum" CFLAGS: "-O2" gcc:python3: extends: .test variables: CFLAGS: "-O2" PYTHON: "/usr/bin/python3" gcc:static: extends: .test variables: CONFIG: "--disable-shared --without-python --without-modules" CFLAGS: "-O2" clang:asan: extends: .test tags: - asan variables: CONFIG: "--without-python" CC: clang CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all -Wno-error=cast-align" UBSAN_OPTIONS: "print_stacktrace=1" ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" clang:msan: extends: .test # only: # - schedules variables: CONFIG: "--without-python --without-zlib --without-lzma" CC: clang CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align" MSAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer" .mingw: tags: - win32-ps variables: BASE_CONFIG: "--with-ftp --with-legacy --with-xptr-locs" CHERE_INVOKING: "yes" before_script: - $Env:Path="C:\msys64\usr\bin;$Env:Path" - bash -lc 'sh .gitlab-ci/setup_mingw.sh autotools' script: - bash -lc 'sh .gitlab-ci/test.sh' cache: key: "$MSYSTEM" paths: - libxml2-build/xmlconf/ mingw:w64-x86_64:shared: extends: .mingw variables: CFLAGS: "-O2" MSYSTEM: MINGW64 mingw:w64-i686:shared: extends: .mingw only: - schedules variables: CFLAGS: "-O2" MSYSTEM: MINGW32 # Disabled, GCC missing? .mingw:msys:shared: extends: .mingw variables: CFLAGS: "-O2" MSYSTEM: MSYS .cmake:linux: image: registry.gitlab.gnome.org/gnome/libxml2 before_script: - rm -rf libxml2-build - mkdir libxml2-build - ln -s /tests/xmlconf libxml2-build script: - sh .gitlab-ci/test_cmake.sh artifacts: paths: - libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz expire_in: 1 day cmake:linux:gcc:shared: extends: .cmake:linux variables: BUILD_SHARED_LIBS: "ON" CC: gcc SUFFIX: linux-gcc-shared cmake:linux:gcc:static: extends: .cmake:linux only: - schedules variables: BUILD_SHARED_LIBS: "OFF" CC: gcc SUFFIX: linux-gcc-static cmake:linux:clang:shared: extends: .cmake:linux only: - schedules variables: BUILD_SHARED_LIBS: "ON" CC: clang CFLAGS: "-Wno-error=cast-align" SUFFIX: linux-clang-shared cmake:linux:clang:static: extends: .cmake:linux only: - schedules variables: BUILD_SHARED_LIBS: "OFF" CC: clang CFLAGS: "-Wno-error=cast-align" SUFFIX: linux-clang-static .cmake:mingw: tags: - win32-ps variables: CHERE_INVOKING: "yes" before_script: - $Env:Path="C:\msys64\usr\bin;$Env:Path" - bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja' script: - bash -lc 'sh .gitlab-ci/test_cmake.sh -G Ninja' cache: key: "$MSYSTEM" paths: - libxml2-build/xmlconf/ artifacts: paths: - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:SUFFIX.tar.gz expire_in: 1 day cmake:mingw:w64-i686:shared: extends: .cmake:mingw only: - schedules variables: BUILD_SHARED_LIBS: "ON" MSYSTEM: MINGW32 SUFFIX: mingw-w64-i686-shared cmake:mingw:w64-i686:static: extends: .cmake:mingw only: - schedules variables: BUILD_SHARED_LIBS: "OFF" MSYSTEM: MINGW32 SUFFIX: mingw-w64-i686-static cmake:mingw:w64-x86_64:shared: extends: .cmake:mingw variables: BUILD_SHARED_LIBS: "ON" MSYSTEM: MINGW64 SUFFIX: mingw-w64-x86_64-shared cmake:mingw:w64-x86_64:static: extends: .cmake:mingw only: - schedules variables: BUILD_SHARED_LIBS: "OFF" MSYSTEM: MINGW64 SUFFIX: mingw-w64-x86_64-static .cmake:msvc: tags: - win32-ps variables: # MSVC warns when casting `const char **` to `void *` which is wrong. # Disable warning C4090. CFLAGS: /WX /wd4090 CMAKE_VERSION: 3.19.4 script: - .gitlab-ci/Test-Msvc cache: key: "msvc" paths: - cmake-$Env:CMAKE_VERSION-win64-x64/ - libxml2-build/xmlconf/ - 7za.exe artifacts: paths: - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z expire_in: 1 day .cmake:msvc:v141: extends: .cmake:msvc variables: CMAKE_GENERATOR: Visual Studio 15 2017 CMAKE_GENERATOR_TOOLSET: v141 .cmake:msvc:v141:x64: extends: .cmake:msvc:v141 variables: CMAKE_GENERATOR_PLATFORM: x64 cmake:msvc:v141:x64:shared: extends: .cmake:msvc:v141:x64 variables: BUILD_SHARED_LIBS: "ON" SUFFIX: shared cmake:msvc:v141:x64:static: extends: .cmake:msvc:v141:x64 only: - schedules variables: BUILD_SHARED_LIBS: "OFF" SUFFIX: static .cmake:msvc:v141:x86: extends: .cmake:msvc:v141 only: - schedules variables: CMAKE_GENERATOR_PLATFORM: Win32 cmake:msvc:v141:x86:shared: extends: .cmake:msvc:v141:x86 only: - schedules variables: BUILD_SHARED_LIBS: "ON" SUFFIX: shared cmake:msvc:v141:x86:static: extends: .cmake:msvc:v141:x86 variables: BUILD_SHARED_LIBS: "OFF" SUFFIX: static pages: script: - mkdir -p public - cp -r doc/devhelp doc/tutorial doc/xmllint.html doc/xmlcatalog.html public - mkdir -p public/examples - cp doc/examples/*.html doc/examples/*.c public/examples artifacts: paths: - public exclude: - public/devhelp/Makefile* - public/devhelp/*.xsl only: - master@GNOME/libxml2