diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2022-09-13 11:22:02 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2022-09-13 11:22:02 +0900 |
commit | aee72dbc8a3bc08ead76cb808ffa332aa413f2d7 (patch) | |
tree | 14ed1a05c3f7c738934b3381991948def269b7e4 /.gitlab-ci.yml | |
parent | 478150ad4e1d828cd9a7e500314d1dd2a273b73e (diff) | |
download | libxslt-aee72dbc8a3bc08ead76cb808ffa332aa413f2d7.tar.gz libxslt-aee72dbc8a3bc08ead76cb808ffa332aa413f2d7.tar.bz2 libxslt-aee72dbc8a3bc08ead76cb808ffa332aa413f2d7.zip |
Imported Upstream version 1.1.35upstream/1.1.35
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 299 |
1 files changed, 299 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..6d4d77f0 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,299 @@ +.test: + # Reuse libxml2 image + image: registry.gitlab.gnome.org/gnome/libxml2 + script: + - | + git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git + cd libxml2 + sh autogen.sh $CONFIG + make -j$(nproc) + cd .. + sh autogen.sh $CONFIG --with-libxml-src=libxml2 + # Don't run make in "doc" directory + for target in libxslt libexslt xsltproc python tests/plugins; do + make -j$(nproc) -C $target V=1 CFLAGS="$CFLAGS -Werror" + done + make -j$(nproc) -C tests/fuzz V=1 CFLAGS="$CFLAGS -Werror" testTargets + make -s -C tests tests | tee test.log + make -s -C xsltproc tests | tee -a test.log + ! grep -qv '^## Running' test.log + make -s -C python tests + +gcc: + extends: .test + variables: + CFLAGS: "-O2 -std=c89 -D_POSIX_C_SOURCE=200112L" + +gcc:python3: + extends: .test + only: + - schedules + variables: + CONFIG: "--with-python=/usr/bin/python3" + CFLAGS: "-O2" + +clang:asan: + extends: .test + variables: + CONFIG: "--without-python" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize-recover=all -Wimplicit-int-conversion -Wno-error=cast-align" + # LeakSanitizer requires SYS_CAP_PTRACE + ASAN_OPTIONS: "detect_leaks=0" + UBSAN_OPTIONS: "print_stacktrace=1" + +clang:msan: + extends: .test + only: + - schedules + variables: + CONFIG: "--without-python --without-zlib --without-lzma --without-crypto" + CC: clang + CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wimplicit-int-conversion -Wno-error=cast-align" + +.cmake:linux: + image: registry.gitlab.gnome.org/gnome/libxml2 + before_script: + - git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git libxml2-source + - cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_WITH_TESTS=OFF -S libxml2-source -B libxml2-build + - cmake --build libxml2-build --target install + - mkdir -p libxml2-install/share/libxml2 + - cp libxml2-source/Copyright libxml2-install/share/libxml2 + - export CMAKE_PREFIX_PATH=$CI_PROJECT_DIR/libxml2-install:$CMAKE_PREFIX_PATH + - export PATH=$CI_PROJECT_DIR/libxml2-install/bin:$PATH + - export LD_LIBRARY_PATH=$CI_PROJECT_DIR/libxml2-install/bin:$LD_LIBRARY_PATH + script: + - cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxslt-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxslt-build + - cmake --build libxslt-build --target install + - mkdir -p libxslt-install/share/libxslt + - cp Copyright libxslt-install/share/libxslt + after_script: + - cd libxslt-install + - tar -czf ../libxslt-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz * + artifacts: + paths: + - libxslt-$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 + before_script: + - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12" + - $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path" + - pacman --noconfirm -Syu + - pacman --noconfirm -S + $Env:MINGW_PACKAGE_PREFIX-cmake + $Env:MINGW_PACKAGE_PREFIX-libiconv + $Env:MINGW_PACKAGE_PREFIX-ninja + $Env:MINGW_PACKAGE_PREFIX-python + $Env:MINGW_PACKAGE_PREFIX-python2 + $Env:MINGW_PACKAGE_PREFIX-xz + $Env:MINGW_PACKAGE_PREFIX-zlib + - if (-not (Test-Path 7za.exe)) { + Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ; + cmake -E tar xf 7z1900-extra.7z 7za.exe + } + - git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git libxml2-source + - cmake -G Ninja -DBUILD_SHARED_LIBS=$Env:BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DLIBXML2_WITH_TESTS=OFF -S libxml2-source -B libxml2-build + - cmake --build libxml2-build --config RelWithDebInfo --target install + - New-Item -ItemType Directory libxml2-install\share\libxml2 + - Copy-Item libxml2-source\Copyright libxml2-install\share\libxml2 + - $Env:CMAKE_PREFIX_PATH="$Env:CI_PROJECT_DIR\libxml2-install;$Env:CMAKE_PREFIX_PATH" + - $Env:Path="$Env:CI_PROJECT_DIR\libxml2-install\bin;$Env:Path" + script: + - cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxslt-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxslt-build + - cmake --build libxslt-build --target install + - New-Item -ItemType Directory libxslt-install\share\libxslt + - Copy-Item Copyright libxslt-install\share\libxslt + after_script: + - .\7za.exe a libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z .\libxslt-install\* + cache: + key: "$MINGW_PACKAGE_PREFIX" + paths: + - 7za.exe + artifacts: + paths: + - libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z + expire_in: 1 day + +cmake:mingw:w64-i686:shared: + extends: .cmake:mingw + only: + - schedules + variables: + BUILD_SHARED_LIBS: "ON" + MINGW_PACKAGE_PREFIX: mingw-w64-i686 + MINGW_PATH: mingw32 + SUFFIX: shared + +cmake:mingw:w64-i686:static: + extends: .cmake:mingw + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + MINGW_PACKAGE_PREFIX: mingw-w64-i686 + MINGW_PATH: mingw32 + SUFFIX: static + +cmake:mingw:w64-x86_64:shared: + extends: .cmake:mingw + variables: + BUILD_SHARED_LIBS: "ON" + MINGW_PACKAGE_PREFIX: mingw-w64-x86_64 + MINGW_PATH: mingw64 + SUFFIX: shared + +cmake:mingw:w64-x86_64:static: + extends: .cmake:mingw + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + MINGW_PACKAGE_PREFIX: mingw-w64-x86_64 + 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" + - if (-not (Test-Path 7za.exe)) { + Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ; + cmake -E tar xf 7z1900-extra.7z 7za.exe + } + - git clone --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git libxml2-source + - 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 libxml2-source -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 libxml2-source\Copyright libxml2-install\share\libxml2 + - $Env:CMAKE_PREFIX_PATH="$Env:CI_PROJECT_DIR\libxml2-install;$Env:CMAKE_PREFIX_PATH" + - $Env:Path="$Env:CI_PROJECT_DIR\libxml2-install\bin;$Env:Path" + script: + - cmake -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxslt-install -DLIBXSLT_WITH_PYTHON=OFF -S . -B libxslt-build + - cmake --build libxslt-build --config Debug --target install + - cmake --build libxslt-build --config Release --target install + - New-Item -ItemType Directory libxslt-install\share\libxslt + - Copy-Item Copyright libxslt-install\share\libxslt + - cd libxslt-build + - ctest -C Debug -VV + - ctest -C Release -VV + after_script: + - .\7za.exe a libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxslt-install\* + cache: + key: "msvc" + paths: + - cmake-$Env:CMAKE_VERSION-win64-x64/ + - 7za.exe + artifacts: + paths: + - libxslt-$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 + variables: + BUILD_SHARED_LIBS: "ON" + SUFFIX: shared + +cmake:msvc:v141:x86:static: + extends: .cmake:msvc:v141:x86 + only: + - schedules + variables: + BUILD_SHARED_LIBS: "OFF" + SUFFIX: static + +pages: + script: + - mkdir -p public/EXSLT + - cp -r doc/devhelp doc/tutorial doc/tutorial2 doc/xsltproc.html public + - cp -r doc/EXSLT/devhelp public/EXSLT + artifacts: + paths: + - public + exclude: + - public/devhelp/Makefile* + - public/devhelp/*.xsl + - public/EXSLT/devhelp/Makefile* + - public/EXSLT/devhelp/*.xsl + only: + - master@GNOME/libxslt |