Skip to content
Snippets Groups Projects

Debian/oldstable docker container for packaging (#942)

Merged Wuttke, Joachim requested to merge docker1 into main
+ 78
7
@@ -11,6 +11,7 @@ native_Debian:
before_script: &native_before
- pwd
- export CC=gcc; export CXX=g++
- export CHECK_FLAGS="-DZERO_TOLERANCE=ON -DDEVELOPER_CHECKS=ON"
- export MPLBACKEND=Agg
# avoid using the default Debian Qt framework
- QTCMAKE="/usr/local/Qt6/6.2.3/gcc_64/lib/cmake"
@@ -21,7 +22,7 @@ native_Debian:
- mkdir build
- cd build
# NOTE: CMake's Ninja generator should not be used with CMake < 3.26 due to internal bugs.
- time cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_PREFIX_PATH="$QTCMAKE" -DZERO_TOLERANCE=ON -DDEVELOPER_CHECKS=ON
- time cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_PREFIX_PATH="$QTCMAKE" $CHECK_FLAGS
- time make -j16
- time ctest -j16 --output-on-failure
- time make package_source
@@ -33,6 +34,59 @@ native_Debian:
- build/py/wheel/manylinux/*.whl
expire_in: 10 days
.aux1: &compile_dependency
- mkdir build
- cd build
- cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
- make -j4
- ctest
- make install
.debian_oldstable_py311: &debian_oldstable
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
tags:
- LinuxDocker
image: scg-debian-oldstable:latest
stage: build
script: &docker_build
- export CHECK_FLAGS=""
- ORIGINAL_DIR=$(pwd)
- export CC=gcc; export CXX=g++
- export MPLBACKEND=Agg
- ldd --version
- cmake --version
- eval "$(pyenv init -)"
- python --version
- cd /libheinz
- *compile_dependency
- cd /libcerf
- *compile_dependency
- cd /libformfactor
- *compile_dependency
- cd $ORIGINAL_DIR
- *native_scr
debian_oldstable_py311:
<<: *debian_oldstable
before_script:
- pyenv global 3.11
debian_oldstable_py310:
<<: *debian_oldstable
before_script:
- pyenv global 3.10
debian_oldstable_py39:
<<: *debian_oldstable
before_script:
- pyenv global 3.9
debian_oldstable_py38:
<<: *debian_oldstable
before_script:
- pyenv global 3.8
versiondocs:
rules:
- if: '$CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
@@ -66,7 +120,10 @@ mac_x64:
- env
- mkdir build
- cd build
- cmake .. -DCMAKE_PREFIX_PATH="$OPTDIR;$QTDIR/lib/cmake;$BREWDIR" -DCMAKE_BUILD_TYPE=Release -DPython3_ROOT_DIR="$PYPLAT" -DCMAKE_CXX_COMPILER_LAUNCHER="$CCACHE" -DBA_APPLE_BUNDLE=ON -DCMAKE_OSX_DEPLOYMENT_TARGET=11 -DCMAKE_INSTALL_PREFIX=/tmp/ba -DZERO_TOLERANCE=ON
- >
cmake .. -DCMAKE_PREFIX_PATH="$OPTDIR;$QTDIR/lib/cmake;$BREWDIR" -DCMAKE_BUILD_TYPE=Release
-DPython3_ROOT_DIR="$PYPLAT" -DCMAKE_CXX_COMPILER_LAUNCHER="$CCACHE" -DBA_APPLE_BUNDLE=ON
-DCMAKE_OSX_DEPLOYMENT_TARGET=11 -DCMAKE_INSTALL_PREFIX=/tmp/ba -DZERO_TOLERANCE=ON
- make -j$NPROC
- ctest -j3 --output-on-failure
- python3 var/mac_py_package.py
@@ -113,9 +170,14 @@ windows:
- echo "# PythonPath '<$Env:PYTHONPATH>'"
- echo "# Powershell <$PSHOME>`n PS Profile <$PROFILE>`n PS Command-Path <$PSCOMMANDPATH>"
# Visual Studio path <https://github.com/microsoft/vswhere/wiki/Find-VC>
- $vsPath = &"${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationpath
- >
$vsPath = &"${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
-latest -products *
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationpath
- echo "Microsoft Visual Studio path = '$vsPath'"
- Import-Module (Get-ChildItem $vsPath -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName
- >
Import-Module
(Get-ChildItem $vsPath -Recurse -File -Filter Microsoft.VisualStudio.DevShell.dll).FullName
- Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments '-arch=x64'
- Set-Item -Path "env:CC" -Value "cl.exe"
- Set-Item -Path "env:CXX" -Value "cl.exe"
@@ -129,11 +191,20 @@ windows:
- pwd
# configure, make, test, pack
- cmake --version
- cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$OPT_DIR;$QTCMake_DIR;$BOOST_DIR" -DPython3_ROOT_DIR="$PY_PLATFORM_DIR" -DCPACK_IFW_ROOT="C:/Qt/Tools/QtInstallerFramework/4.5" -DCMAKE_C_COMPILER_LAUNCHER="buildcache.exe" -DCMAKE_CXX_COMPILER_LAUNCHER="buildcache.exe" -B. ..
- >
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release
-DCMAKE_PREFIX_PATH="$OPT_DIR;$QTCMake_DIR;$BOOST_DIR"
-DPython3_ROOT_DIR="$PY_PLATFORM_DIR"
-DCPACK_IFW_ROOT="C:/Qt/Tools/QtInstallerFramework/4.5"
-DCMAKE_C_COMPILER_LAUNCHER="buildcache.exe"
-DCMAKE_CXX_COMPILER_LAUNCHER="buildcache.exe"
-B. ..
- pwd
- if($CI_PIPELINE_SOURCE -eq "schedule") { cmake --build . --target clean; echo "redundant target purge done" }
- >
if($CI_PIPELINE_SOURCE -eq "schedule")
{ cmake --build . --target clean; echo "redundant target purge done" }
- cmake --build . -j20 --config Release
- |
- >
$env:PYTHONPATH += "$CI_PROJECT_DIR/build/lib";
$env:PATH = "$QT_MSVC_DIR/bin;$env:PATH";
ctest -C Release --parallel 20 --output-on-failure
Loading