1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-12-25 23:21:26 +03:00
libxml2/.gitlab-ci.yml
2023-10-02 15:04:18 +02:00

290 lines
6.0 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:
CONFIG: "--without-tls"
CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=600"
gcc:minimum:
extends: .test
variables:
BASE_CONFIG: "--with-minimum"
CFLAGS: "-O2"
gcc:medium:
extends: .test
variables:
BASE_CONFIG: "--with-minimum"
CONFIG: "--with-threads --with-tree --with-xpath --with-output --with-html"
CFLAGS: "-O2"
gcc:legacy:
extends: .test
only:
- schedules
variables:
BASE_CONFIG: "--with-legacy"
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"
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"
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
SUFFIX: linux-clang-shared
cmake:linux:clang:static:
extends: .cmake:linux
only:
- schedules
variables:
BUILD_SHARED_LIBS: "OFF"
CC: clang
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