Skip to content
Snippets Groups Projects
Commit ed739e3d0bd0 authored by Nick Wellnhofer's avatar Nick Wellnhofer
Browse files

gitlab-ci: Consolidate CMake test scripts

parent ee4f953bd1a1
No related branches found
No related tags found
No related merge requests found
......@@ -49,8 +49,7 @@
CONFIG: "--without-crypto"
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"
- $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'
......@@ -60,7 +59,6 @@
variables:
CFLAGS: "-O2"
MSYSTEM: MINGW64
MINGW_PATH: mingw64
# Disabled, GCC missing?
.mingw:msys:shared:
......@@ -68,7 +66,6 @@
variables:
CFLAGS: "-O2"
MSYSTEM: MSYS
MINGW_PATH: usr
.cmake:linux:
image: registry.gitlab.gnome.org/gnome/libxml2
......@@ -72,11 +69,4 @@
.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
- 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:
......@@ -82,10 +72,4 @@
script:
- cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxslt-install -DCMAKE_C_FLAGS='-Werror' -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 *
- sh .gitlab-ci/test_cmake.sh
artifacts:
paths:
......@@ -90,7 +74,7 @@
artifacts:
paths:
- libxslt-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz
- libxslt-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz
expire_in: 1 day
cmake:linux:gcc:shared:
extends: .cmake:linux
......@@ -93,9 +77,7 @@
expire_in: 1 day
cmake:linux:gcc:shared:
extends: .cmake:linux
only:
- schedules
variables:
BUILD_SHARED_LIBS: "ON"
CC: gcc
......@@ -99,7 +81,7 @@
variables:
BUILD_SHARED_LIBS: "ON"
CC: gcc
SUFFIX: shared
SUFFIX: linux-gcc-shared
cmake:linux:gcc:static:
extends: .cmake:linux
......@@ -108,7 +90,7 @@
variables:
BUILD_SHARED_LIBS: "OFF"
CC: gcc
SUFFIX: static
SUFFIX: linux-gcc-static
cmake:linux:clang:shared:
extends: .cmake:linux
......@@ -117,7 +99,7 @@
variables:
BUILD_SHARED_LIBS: "ON"
CC: clang
SUFFIX: shared
SUFFIX: linux-clang-shared
cmake:linux:clang:static:
extends: .cmake:linux
......@@ -126,7 +108,7 @@
variables:
BUILD_SHARED_LIBS: "OFF"
CC: clang
SUFFIX: static
SUFFIX: linux-clang-static
.cmake:mingw:
tags:
......@@ -134,6 +116,5 @@
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"
- $Env:Path="C:\msys64\usr\bin;$Env:Path"
- bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja'
......@@ -139,8 +120,2 @@
- bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja'
- .gitlab-ci/Install-7-Zip
- 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
- $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:
......@@ -146,9 +121,4 @@
script:
- cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxslt-install -DCMAKE_C_FLAGS='-Werror' -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:MSYSTEM-$Env:SUFFIX.7z .\libxslt-install\*
- bash -lc 'sh .gitlab-ci/test_cmake.sh -G Ninja'
artifacts:
paths:
......@@ -153,6 +123,6 @@
artifacts:
paths:
- libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:MSYSTEM-$Env:SUFFIX.7z
- libxslt-$Env:CI_COMMIT_SHORT_SHA-$Env:SUFFIX.tar.gz
expire_in: 1 day
cmake:mingw:w64-i686:shared:
......@@ -162,8 +132,7 @@
variables:
BUILD_SHARED_LIBS: "ON"
MSYSTEM: MINGW32
MINGW_PATH: mingw32
SUFFIX: shared
SUFFIX: mingw-w64-i686-shared
cmake:mingw:w64-i686:static:
extends: .cmake:mingw
......@@ -172,11 +141,10 @@
variables:
BUILD_SHARED_LIBS: "OFF"
MSYSTEM: MINGW32
MINGW_PATH: mingw32
SUFFIX: static
SUFFIX: mingw-w64-i686-static
cmake:mingw:w64-x86_64:shared:
extends: .cmake:mingw
variables:
BUILD_SHARED_LIBS: "ON"
MSYSTEM: MINGW64
......@@ -177,11 +145,10 @@
cmake:mingw:w64-x86_64:shared:
extends: .cmake:mingw
variables:
BUILD_SHARED_LIBS: "ON"
MSYSTEM: MINGW64
MINGW_PATH: mingw64
SUFFIX: shared
SUFFIX: mingw-w64-x86_64-shared
cmake:mingw:w64-x86_64:static:
extends: .cmake:mingw
......@@ -190,8 +157,7 @@
variables:
BUILD_SHARED_LIBS: "OFF"
MSYSTEM: MINGW64
MINGW_PATH: mingw64
SUFFIX: static
SUFFIX: mingw-w64-x86_64-static
.cmake:msvc:
tags:
......@@ -205,7 +171,10 @@
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
- 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
......@@ -227,6 +196,7 @@
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
......
if (-not (Get-Command "7za.exe" -ErrorAction SilentlyContinue)) {
Invoke-WebRequest -Uri https://www.7-zip.org/a/7z2201.msi -OutFile 7z2201.msi
msiexec /i $Installer7Zip /qb
}
#!/bin/sh
set -e
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
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/lib:$LD_LIBRARY_PATH"
cmake "$@" \
-DBUILD_SHARED_LIBS="$BUILD_SHARED_LIBS" \
-DCMAKE_INSTALL_PREFIX=libxslt-install \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_FLAGS='-Werror' \
-S . -B libxslt-build
cmake --build libxslt-build --target install
mkdir -p libxslt-install/share/libxslt
cp Copyright libxslt-install/share/libxslt
(cd libxslt-install &&
tar -czf ../libxslt-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz *)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment