153aa9179Sopenharmony_ci.test: 253aa9179Sopenharmony_ci # The image was generated with the following Dockerfile. It is also used 353aa9179Sopenharmony_ci # for libxslt, that's why we need git and libgcrypt-dev. 453aa9179Sopenharmony_ci # 553aa9179Sopenharmony_ci # FROM ubuntu:20.04 653aa9179Sopenharmony_ci # ENV DEBIAN_FRONTEND=noninteractive 753aa9179Sopenharmony_ci # RUN apt-get update && \ 853aa9179Sopenharmony_ci # apt-get upgrade -y && \ 953aa9179Sopenharmony_ci # apt-get install -y --no-install-recommends \ 1053aa9179Sopenharmony_ci # curl git ca-certificates \ 1153aa9179Sopenharmony_ci # autoconf automake libtool pkg-config \ 1253aa9179Sopenharmony_ci # make gcc clang llvm \ 1353aa9179Sopenharmony_ci # zlib1g-dev liblzma-dev libgcrypt-dev \ 1453aa9179Sopenharmony_ci # python-dev python3-dev \ 1553aa9179Sopenharmony_ci # cmake 1653aa9179Sopenharmony_ci # WORKDIR /tests 1753aa9179Sopenharmony_ci # RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz 1853aa9179Sopenharmony_ci image: registry.gitlab.gnome.org/gnome/libxml2 1953aa9179Sopenharmony_ci script: 2053aa9179Sopenharmony_ci - | 2153aa9179Sopenharmony_ci ln -s /tests/xmlconf 2253aa9179Sopenharmony_ci sh autogen.sh $CONFIG 2353aa9179Sopenharmony_ci make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror" 2453aa9179Sopenharmony_ci make check 2553aa9179Sopenharmony_ci 2653aa9179Sopenharmony_cigcc: 2753aa9179Sopenharmony_ci extends: .test 2853aa9179Sopenharmony_ci variables: 2953aa9179Sopenharmony_ci CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700" 3053aa9179Sopenharmony_ci 3153aa9179Sopenharmony_cigcc:python3: 3253aa9179Sopenharmony_ci extends: .test 3353aa9179Sopenharmony_ci only: 3453aa9179Sopenharmony_ci - schedules 3553aa9179Sopenharmony_ci variables: 3653aa9179Sopenharmony_ci CONFIG: "--with-python=/usr/bin/python3" 3753aa9179Sopenharmony_ci CFLAGS: "-O2" 3853aa9179Sopenharmony_ci 3953aa9179Sopenharmony_ciclang:asan: 4053aa9179Sopenharmony_ci extends: .test 4153aa9179Sopenharmony_ci variables: 4253aa9179Sopenharmony_ci CONFIG: "--without-python" 4353aa9179Sopenharmony_ci CC: clang 4453aa9179Sopenharmony_ci CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all -Wno-error=cast-align" 4553aa9179Sopenharmony_ci # LeakSanitizer requires SYS_CAP_PTRACE 4653aa9179Sopenharmony_ci ASAN_OPTIONS: "detect_leaks=0" 4753aa9179Sopenharmony_ci UBSAN_OPTIONS: "print_stacktrace=1" 4853aa9179Sopenharmony_ci 4953aa9179Sopenharmony_ciclang:msan: 5053aa9179Sopenharmony_ci extends: .test 5153aa9179Sopenharmony_ci only: 5253aa9179Sopenharmony_ci - schedules 5353aa9179Sopenharmony_ci variables: 5453aa9179Sopenharmony_ci CONFIG: "--without-python --without-zlib --without-lzma" 5553aa9179Sopenharmony_ci CC: clang 5653aa9179Sopenharmony_ci CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align" 5753aa9179Sopenharmony_ci 5853aa9179Sopenharmony_ci.cmake:linux: 5953aa9179Sopenharmony_ci image: registry.gitlab.gnome.org/gnome/libxml2 6053aa9179Sopenharmony_ci script: 6153aa9179Sopenharmony_ci - cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_XMLCONF_WORKING_DIR=/tests -S . -B libxml2-build 6253aa9179Sopenharmony_ci - cmake --build libxml2-build --target install 6353aa9179Sopenharmony_ci - mkdir -p libxml2-install/share/libxml2 6453aa9179Sopenharmony_ci - cp Copyright libxml2-install/share/libxml2 6553aa9179Sopenharmony_ci - cd libxml2-build 6653aa9179Sopenharmony_ci - ctest -VV 6753aa9179Sopenharmony_ci after_script: 6853aa9179Sopenharmony_ci - cd libxml2-install 6953aa9179Sopenharmony_ci - tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz * 7053aa9179Sopenharmony_ci artifacts: 7153aa9179Sopenharmony_ci paths: 7253aa9179Sopenharmony_ci - libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz 7353aa9179Sopenharmony_ci expire_in: 1 day 7453aa9179Sopenharmony_ci 7553aa9179Sopenharmony_cicmake:linux:gcc:shared: 7653aa9179Sopenharmony_ci extends: .cmake:linux 7753aa9179Sopenharmony_ci only: 7853aa9179Sopenharmony_ci - schedules 7953aa9179Sopenharmony_ci variables: 8053aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "ON" 8153aa9179Sopenharmony_ci CC: gcc 8253aa9179Sopenharmony_ci SUFFIX: shared 8353aa9179Sopenharmony_ci 8453aa9179Sopenharmony_cicmake:linux:gcc:static: 8553aa9179Sopenharmony_ci extends: .cmake:linux 8653aa9179Sopenharmony_ci only: 8753aa9179Sopenharmony_ci - schedules 8853aa9179Sopenharmony_ci variables: 8953aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "OFF" 9053aa9179Sopenharmony_ci CC: gcc 9153aa9179Sopenharmony_ci SUFFIX: static 9253aa9179Sopenharmony_ci 9353aa9179Sopenharmony_cicmake:linux:clang:shared: 9453aa9179Sopenharmony_ci extends: .cmake:linux 9553aa9179Sopenharmony_ci only: 9653aa9179Sopenharmony_ci - schedules 9753aa9179Sopenharmony_ci variables: 9853aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "ON" 9953aa9179Sopenharmony_ci CC: clang 10053aa9179Sopenharmony_ci SUFFIX: shared 10153aa9179Sopenharmony_ci 10253aa9179Sopenharmony_cicmake:linux:clang:static: 10353aa9179Sopenharmony_ci extends: .cmake:linux 10453aa9179Sopenharmony_ci only: 10553aa9179Sopenharmony_ci - schedules 10653aa9179Sopenharmony_ci variables: 10753aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "OFF" 10853aa9179Sopenharmony_ci CC: clang 10953aa9179Sopenharmony_ci SUFFIX: static 11053aa9179Sopenharmony_ci 11153aa9179Sopenharmony_ci.cmake:mingw: 11253aa9179Sopenharmony_ci tags: 11353aa9179Sopenharmony_ci - win32-ps 11453aa9179Sopenharmony_ci before_script: 11553aa9179Sopenharmony_ci - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12" 11653aa9179Sopenharmony_ci - $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path" 11753aa9179Sopenharmony_ci - pacman --noconfirm -Syu 11853aa9179Sopenharmony_ci - pacman --noconfirm -S 11953aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-cmake 12053aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-libiconv 12153aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-ninja 12253aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-python 12353aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-python2 12453aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-xz 12553aa9179Sopenharmony_ci $Env:MINGW_PACKAGE_PREFIX-zlib 12653aa9179Sopenharmony_ci - if (-not (Test-Path 7za.exe)) { 12753aa9179Sopenharmony_ci Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ; 12853aa9179Sopenharmony_ci cmake -E tar xf 7z1900-extra.7z 7za.exe 12953aa9179Sopenharmony_ci } 13053aa9179Sopenharmony_ci - if (-not (Test-Path libxml2-build/xmlconf)) { 13153aa9179Sopenharmony_ci Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ; 13253aa9179Sopenharmony_ci .\7za.exe x xmlts20080827.tar.gz -olibxml2-build 13353aa9179Sopenharmony_ci } 13453aa9179Sopenharmony_ci script: 13553aa9179Sopenharmony_ci - cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxml2-build 13653aa9179Sopenharmony_ci - cmake --build libxml2-build --target install 13753aa9179Sopenharmony_ci - New-Item -ItemType Directory libxml2-install\share\libxml2 13853aa9179Sopenharmony_ci - Copy-Item Copyright libxml2-install\share\libxml2 13953aa9179Sopenharmony_ci - cd libxml2-build 14053aa9179Sopenharmony_ci - ctest -VV 14153aa9179Sopenharmony_ci after_script: 14253aa9179Sopenharmony_ci - .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z .\libxml2-install\* 14353aa9179Sopenharmony_ci cache: 14453aa9179Sopenharmony_ci key: "$MINGW_PACKAGE_PREFIX" 14553aa9179Sopenharmony_ci paths: 14653aa9179Sopenharmony_ci - libxml2-build/xmlconf/ 14753aa9179Sopenharmony_ci - 7za.exe 14853aa9179Sopenharmony_ci artifacts: 14953aa9179Sopenharmony_ci paths: 15053aa9179Sopenharmony_ci - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z 15153aa9179Sopenharmony_ci expire_in: 1 day 15253aa9179Sopenharmony_ci 15353aa9179Sopenharmony_cicmake:mingw:w64-i686:shared: 15453aa9179Sopenharmony_ci extends: .cmake:mingw 15553aa9179Sopenharmony_ci only: 15653aa9179Sopenharmony_ci - schedules 15753aa9179Sopenharmony_ci variables: 15853aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "ON" 15953aa9179Sopenharmony_ci MINGW_PACKAGE_PREFIX: mingw-w64-i686 16053aa9179Sopenharmony_ci MINGW_PATH: mingw32 16153aa9179Sopenharmony_ci SUFFIX: shared 16253aa9179Sopenharmony_ci 16353aa9179Sopenharmony_cicmake:mingw:w64-i686:static: 16453aa9179Sopenharmony_ci extends: .cmake:mingw 16553aa9179Sopenharmony_ci only: 16653aa9179Sopenharmony_ci - schedules 16753aa9179Sopenharmony_ci variables: 16853aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "OFF" 16953aa9179Sopenharmony_ci MINGW_PACKAGE_PREFIX: mingw-w64-i686 17053aa9179Sopenharmony_ci MINGW_PATH: mingw32 17153aa9179Sopenharmony_ci SUFFIX: static 17253aa9179Sopenharmony_ci 17353aa9179Sopenharmony_cicmake:mingw:w64-x86_64:shared: 17453aa9179Sopenharmony_ci extends: .cmake:mingw 17553aa9179Sopenharmony_ci variables: 17653aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "ON" 17753aa9179Sopenharmony_ci MINGW_PACKAGE_PREFIX: mingw-w64-x86_64 17853aa9179Sopenharmony_ci MINGW_PATH: mingw64 17953aa9179Sopenharmony_ci SUFFIX: shared 18053aa9179Sopenharmony_ci 18153aa9179Sopenharmony_cicmake:mingw:w64-x86_64:static: 18253aa9179Sopenharmony_ci extends: .cmake:mingw 18353aa9179Sopenharmony_ci only: 18453aa9179Sopenharmony_ci - schedules 18553aa9179Sopenharmony_ci variables: 18653aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "OFF" 18753aa9179Sopenharmony_ci MINGW_PACKAGE_PREFIX: mingw-w64-x86_64 18853aa9179Sopenharmony_ci MINGW_PATH: mingw64 18953aa9179Sopenharmony_ci SUFFIX: static 19053aa9179Sopenharmony_ci 19153aa9179Sopenharmony_ci.cmake:msvc: 19253aa9179Sopenharmony_ci tags: 19353aa9179Sopenharmony_ci - win32-ps 19453aa9179Sopenharmony_ci variables: 19553aa9179Sopenharmony_ci CMAKE_VERSION: 3.19.4 19653aa9179Sopenharmony_ci before_script: 19753aa9179Sopenharmony_ci - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12" 19853aa9179Sopenharmony_ci - if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) { 19953aa9179Sopenharmony_ci 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 ; 20053aa9179Sopenharmony_ci Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath . 20153aa9179Sopenharmony_ci } 20253aa9179Sopenharmony_ci - $Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path" 20353aa9179Sopenharmony_ci - if (-not (Test-Path 7za.exe)) { 20453aa9179Sopenharmony_ci Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ; 20553aa9179Sopenharmony_ci cmake -E tar xf 7z1900-extra.7z 7za.exe 20653aa9179Sopenharmony_ci } 20753aa9179Sopenharmony_ci - if (-not (Test-Path libxml2-build/xmlconf)) { 20853aa9179Sopenharmony_ci Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ; 20953aa9179Sopenharmony_ci .\7za.exe x xmlts20080827.tar.gz -olibxml2-build 21053aa9179Sopenharmony_ci } 21153aa9179Sopenharmony_ci script: 21253aa9179Sopenharmony_ci - 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 21353aa9179Sopenharmony_ci - cmake --build libxml2-build --config Debug --target install 21453aa9179Sopenharmony_ci - cmake --build libxml2-build --config Release --target install 21553aa9179Sopenharmony_ci - New-Item -ItemType Directory libxml2-install\share\libxml2 21653aa9179Sopenharmony_ci - Copy-Item Copyright libxml2-install\share\libxml2 21753aa9179Sopenharmony_ci - cd libxml2-build 21853aa9179Sopenharmony_ci - ctest -C Debug -VV 21953aa9179Sopenharmony_ci - ctest -C Release -VV 22053aa9179Sopenharmony_ci after_script: 22153aa9179Sopenharmony_ci - .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\* 22253aa9179Sopenharmony_ci cache: 22353aa9179Sopenharmony_ci key: "msvc" 22453aa9179Sopenharmony_ci paths: 22553aa9179Sopenharmony_ci - cmake-$Env:CMAKE_VERSION-win64-x64/ 22653aa9179Sopenharmony_ci - libxml2-build/xmlconf/ 22753aa9179Sopenharmony_ci - 7za.exe 22853aa9179Sopenharmony_ci artifacts: 22953aa9179Sopenharmony_ci paths: 23053aa9179Sopenharmony_ci - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z 23153aa9179Sopenharmony_ci expire_in: 1 day 23253aa9179Sopenharmony_ci 23353aa9179Sopenharmony_ci.cmake:msvc:v141: 23453aa9179Sopenharmony_ci extends: .cmake:msvc 23553aa9179Sopenharmony_ci variables: 23653aa9179Sopenharmony_ci CMAKE_GENERATOR: Visual Studio 15 2017 23753aa9179Sopenharmony_ci CMAKE_GENERATOR_TOOLSET: v141 23853aa9179Sopenharmony_ci 23953aa9179Sopenharmony_ci.cmake:msvc:v141:x64: 24053aa9179Sopenharmony_ci extends: .cmake:msvc:v141 24153aa9179Sopenharmony_ci variables: 24253aa9179Sopenharmony_ci CMAKE_GENERATOR_PLATFORM: x64 24353aa9179Sopenharmony_ci 24453aa9179Sopenharmony_cicmake:msvc:v141:x64:shared: 24553aa9179Sopenharmony_ci extends: .cmake:msvc:v141:x64 24653aa9179Sopenharmony_ci variables: 24753aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "ON" 24853aa9179Sopenharmony_ci SUFFIX: shared 24953aa9179Sopenharmony_ci 25053aa9179Sopenharmony_cicmake:msvc:v141:x64:static: 25153aa9179Sopenharmony_ci extends: .cmake:msvc:v141:x64 25253aa9179Sopenharmony_ci only: 25353aa9179Sopenharmony_ci - schedules 25453aa9179Sopenharmony_ci variables: 25553aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "OFF" 25653aa9179Sopenharmony_ci SUFFIX: static 25753aa9179Sopenharmony_ci 25853aa9179Sopenharmony_ci.cmake:msvc:v141:x86: 25953aa9179Sopenharmony_ci extends: .cmake:msvc:v141 26053aa9179Sopenharmony_ci only: 26153aa9179Sopenharmony_ci - schedules 26253aa9179Sopenharmony_ci variables: 26353aa9179Sopenharmony_ci CMAKE_GENERATOR_PLATFORM: Win32 26453aa9179Sopenharmony_ci 26553aa9179Sopenharmony_cicmake:msvc:v141:x86:shared: 26653aa9179Sopenharmony_ci extends: .cmake:msvc:v141:x86 26753aa9179Sopenharmony_ci only: 26853aa9179Sopenharmony_ci - schedules 26953aa9179Sopenharmony_ci variables: 27053aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "ON" 27153aa9179Sopenharmony_ci SUFFIX: shared 27253aa9179Sopenharmony_ci 27353aa9179Sopenharmony_cicmake:msvc:v141:x86:static: 27453aa9179Sopenharmony_ci extends: .cmake:msvc:v141:x86 27553aa9179Sopenharmony_ci variables: 27653aa9179Sopenharmony_ci BUILD_SHARED_LIBS: "OFF" 27753aa9179Sopenharmony_ci SUFFIX: static 27853aa9179Sopenharmony_ci 27953aa9179Sopenharmony_cipages: 28053aa9179Sopenharmony_ci script: 28153aa9179Sopenharmony_ci - mkdir -p public 28253aa9179Sopenharmony_ci - cp -r doc/devhelp doc/tutorial doc/xmllint.html doc/xmlcatalog_man.html public 28353aa9179Sopenharmony_ci artifacts: 28453aa9179Sopenharmony_ci paths: 28553aa9179Sopenharmony_ci - public 28653aa9179Sopenharmony_ci exclude: 28753aa9179Sopenharmony_ci - public/devhelp/Makefile* 28853aa9179Sopenharmony_ci - public/devhelp/*.xsl 28953aa9179Sopenharmony_ci only: 29053aa9179Sopenharmony_ci - master@GNOME/libxml2 291