mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-01-15 23:24:06 +03:00
c63b2692c9
MSan seems broken on Ubuntu 22.04.
307 lines
7.9 KiB
YAML
307 lines
7.9 KiB
YAML
.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"
|
|
CFLAGS: "-O2"
|
|
|
|
clang:asan:
|
|
extends: .test
|
|
variables:
|
|
CONFIG: "--without-python"
|
|
CC: clang
|
|
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow,implicit-conversion -fno-sanitize-recover=all -Wno-error=cast-align"
|
|
# LeakSanitizer requires SYS_CAP_PTRACE
|
|
ASAN_OPTIONS: "detect_leaks=0"
|
|
UBSAN_OPTIONS: "print_stacktrace=1"
|
|
|
|
# Disabled, MSan seems broken on Ubntu 22.04
|
|
.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"
|
|
|
|
.mingw:
|
|
tags:
|
|
- win32-ps
|
|
variables:
|
|
BASE_CONFIG: "--with-ftp --with-legacy --with-xptr-locs"
|
|
CHERE_INVOKING: "yes"
|
|
before_script:
|
|
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
|
|
- $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path"
|
|
- bash -lc 'sh .gitlab-ci/setup_mingw.sh'
|
|
- .gitlab-ci/Install-7-Zip
|
|
- .gitlab-ci/Fetch-W3C-Tests
|
|
script:
|
|
- bash -lc 'sh .gitlab-ci/test.sh'
|
|
cache:
|
|
key: "$MSYSTEM"
|
|
paths:
|
|
- libxml2-build/xmlconf/
|
|
- 7za.exe
|
|
|
|
mingw:w64-x86_64:shared:
|
|
extends: .mingw
|
|
variables:
|
|
CFLAGS: "-O2"
|
|
MSYSTEM: MINGW64
|
|
MINGW_PATH: mingw64
|
|
|
|
# Disabled, GCC missing?
|
|
.mingw:msys:shared:
|
|
extends: .mingw
|
|
variables:
|
|
CFLAGS: "-O2"
|
|
MSYSTEM: MSYS
|
|
MINGW_PATH: usr
|
|
|
|
.cmake:linux:
|
|
image: registry.gitlab.gnome.org/gnome/libxml2
|
|
script:
|
|
- cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_C_FLAGS='-Werror' -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_XMLCONF_WORKING_DIR=/tests -S . -B libxml2-build
|
|
- cmake --build libxml2-build --target install
|
|
- mkdir -p libxml2-install/share/libxml2
|
|
- cp Copyright libxml2-install/share/libxml2
|
|
- cd libxml2-build
|
|
- ctest -VV
|
|
after_script:
|
|
- cd libxml2-install
|
|
- tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz *
|
|
artifacts:
|
|
paths:
|
|
- libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz
|
|
expire_in: 1 day
|
|
|
|
cmake:linux:gcc:shared:
|
|
extends: .cmake:linux
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "ON"
|
|
CC: gcc
|
|
SUFFIX: shared
|
|
|
|
cmake:linux:gcc:static:
|
|
extends: .cmake:linux
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "OFF"
|
|
CC: gcc
|
|
SUFFIX: static
|
|
|
|
cmake:linux:clang:shared:
|
|
extends: .cmake:linux
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "ON"
|
|
CC: clang
|
|
SUFFIX: shared
|
|
|
|
cmake:linux:clang:static:
|
|
extends: .cmake:linux
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "OFF"
|
|
CC: clang
|
|
SUFFIX: static
|
|
|
|
.cmake:mingw:
|
|
tags:
|
|
- win32-ps
|
|
variables:
|
|
CHERE_INVOKING: "yes"
|
|
before_script:
|
|
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
|
|
- $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path"
|
|
- bash -lc 'sh .gitlab-ci/setup_mingw.sh'
|
|
- .gitlab-ci/Install-7-Zip
|
|
- .gitlab-ci/Fetch-W3C-Tests
|
|
script:
|
|
- cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_C_FLAGS='-Werror' -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxml2-build
|
|
- cmake --build libxml2-build --target install
|
|
- New-Item -ItemType Directory libxml2-install\share\libxml2
|
|
- Copy-Item Copyright libxml2-install\share\libxml2
|
|
- cd libxml2-build
|
|
- ctest -VV
|
|
after_script:
|
|
- .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MSYSTEM-$Env:SUFFIX.7z .\libxml2-install\*
|
|
cache:
|
|
key: "$MSYSTEM"
|
|
paths:
|
|
- libxml2-build/xmlconf/
|
|
- 7za.exe
|
|
artifacts:
|
|
paths:
|
|
- libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MSYSTEM-$Env:SUFFIX.7z
|
|
expire_in: 1 day
|
|
|
|
cmake:mingw:w64-i686:shared:
|
|
extends: .cmake:mingw
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "ON"
|
|
MSYSTEM: MINGW32
|
|
MINGW_PATH: mingw32
|
|
SUFFIX: shared
|
|
|
|
cmake:mingw:w64-i686:static:
|
|
extends: .cmake:mingw
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "OFF"
|
|
MSYSTEM: MINGW32
|
|
MINGW_PATH: mingw32
|
|
SUFFIX: static
|
|
|
|
cmake:mingw:w64-x86_64:shared:
|
|
extends: .cmake:mingw
|
|
variables:
|
|
BUILD_SHARED_LIBS: "ON"
|
|
MSYSTEM: MINGW64
|
|
MINGW_PATH: mingw64
|
|
SUFFIX: shared
|
|
|
|
cmake:mingw:w64-x86_64:static:
|
|
extends: .cmake:mingw
|
|
only:
|
|
- schedules
|
|
variables:
|
|
BUILD_SHARED_LIBS: "OFF"
|
|
MSYSTEM: MINGW64
|
|
MINGW_PATH: mingw64
|
|
SUFFIX: static
|
|
|
|
.cmake:msvc:
|
|
tags:
|
|
- win32-ps
|
|
variables:
|
|
CMAKE_VERSION: 3.19.4
|
|
before_script:
|
|
- "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
|
|
- if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) {
|
|
Invoke-WebRequest -Uri http://github.com/Kitware/CMake/releases/download/v$Env:CMAKE_VERSION/cmake-$Env:CMAKE_VERSION-win64-x64.zip -OutFile cmake-$Env:CMAKE_VERSION-win64-x64.zip ;
|
|
Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath .
|
|
}
|
|
- $Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path"
|
|
- .gitlab-ci/Install-7-Zip
|
|
- .gitlab-ci/Fetch-W3C-Tests
|
|
script:
|
|
- cmake -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_ZLIB=OFF -S . -B libxml2-build
|
|
- cmake --build libxml2-build --config Debug --target install
|
|
- cmake --build libxml2-build --config Release --target install
|
|
- New-Item -ItemType Directory libxml2-install\share\libxml2
|
|
- Copy-Item Copyright libxml2-install\share\libxml2
|
|
- cd libxml2-build
|
|
- ctest -C Debug -VV
|
|
- ctest -C Release -VV
|
|
after_script:
|
|
- .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\*
|
|
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
|