| .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 |