Commit 3c77cc75 authored by Eric Dejouhanet's avatar Eric Dejouhanet

Enable ccache and cache folder between builds.

parent 7fdf2924
# This YAML recipe builds KStars with INDI support, then runs all tests
# This is from packaging/linux/debian/control build-depends - fix that first if there is an issue in the CI build
.install_build_dependencies: &install_build_dependencies
- apt update && apt -y install --no-install-recommends software-properties-common
- apt update && add-apt-repository ppa:mutlaqja/ppa
- >
apt update && apt -y install --no-install-recommends
gcc-multilib
g++-multilib
make
gettext
coreutils
cmake
extra-cmake-modules
qtbase5-dev
qtdeclarative5-dev
qtmultimedia5-dev
qtpositioning5-dev
libqt5websockets5-dev
libqt5svg5-dev
libqt5sql5-sqlite
kdoctools-dev
libkf5config-dev
libkf5guiaddons-dev
libkf5i18n-dev
libkf5newstuff-dev
libkf5notifications-dev
libkf5xmlgui-dev
libkf5plotting-dev
libkf5crash-dev
libkf5notifyconfig-dev
libeigen3-dev
zlib1g-dev
libcfitsio-dev
libnova-dev
libindi-dev
indi-bin
wcslib-dev
libraw-dev
libgsl-dev
phonon4qt5-backend-vlc
qt5keychain-dev
libsecret-1-dev
# Build dependencies are in packaged into image definition 'docker/Dockerfile'
# This is from packaging/linux/debian/control recommends/depends - fix that first if there is an issue in the CI build
.install_test_dependencies: &install_test_dependencies
- apt update && apt -y install --no-install-recommends software-properties-common
- apt update && add-apt-repository ppa:mutlaqja/ppa && add-apt-repository ppa:pch/phd2
- >
apt update &&
apt -y --no-install-recommends install
make
cmake
extra-cmake-modules
xplanet
xplanet-images
astrometry.net
kded5
kinit
libindi1
indi-bin
breeze-icon-theme
libqt5sql5-sqlite
qml-module-qtquick-controls
phd2
xvfb
# As of 202009, two-stage pipeline fails on propagation of artifact from stage build to stage test
# Probably because the upload uses a webdav REST API, and there are many large files in the list
#image: ubuntu:latest
# We cache the ccache folder
cache:
key: "$CI_JOB_ID"
paths:
- .ccache
# Run the full validation in one step
# The artifacts take far too much time to propagate from one step to the other
......@@ -76,13 +19,16 @@ build-and-test:
stage: test
interruptible: true
image: tallfurryman/kstars-ci
# before_script:
# - *install_build_dependencies
# - *install_test_dependencies
before_script:
- apt update && apt install -y --no-install-recommends ccache
- mkdir -p .ccache
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/.ccache
- du -hs ${CCACHE_DIR}
script:
- mkdir -p kstars-build
- cd kstars-build
- cmake -DCMAKE_BUILD_TYPE=Release ..
- cmake -DCMAKE_BUILD_TYPE=Release .. -DCCACHE_SUPPORT=ON
- make -j$(nproc) clean all install
- rm -rf Testing
- xvfb-run make test QT_TEST_TIMEOUT_FUNCTION=600000 QT_QPA_PLATFORM=eglfs ARGS='-T test -V --output-on-failure --no-compress-output' || true
......@@ -93,59 +39,11 @@ build-and-test:
junit:
kstars-build/junit_result.xml
# This part kept for reference, does not work on our gitlab instance
# Mainly because of the propagation of artifact from stage build to stage test
# Probably because the upload uses a webdav REST API, and there are many large files in the list
# In the meantime, following up on the many gitlab issues reporting that problem
# We build and test
#stages:
# - build
# - test
# We cache the build folder per job and per branch
# cache:
# key: "$CI_COMMIT_REF_SLUG"
# paths:
# - kstars-build/
# Consolidate runner with build packages and build
#build-kstars:
# stage: build
# interruptible: true
# before_script:
# - *install_build_dependencies
# script:
# - mkdir -p kstars-build
# - cd kstars-build
# - cmake -DCMAKE_BUILD_TYPE=Release ..
# - make -j$(nproc) clean all
# artifacts:
# expire_in: 3600 sec
# paths:
# - kstars-build/
# exclude:
# - kstars-build/**/*.o
# Consolidate runner with test packages and test
#test-kstars:
# stage: test
# interruptible: true
# needs:
# - build-kstars
# dependencies:
# - build-kstars
# before_script:
# - *install_test_dependencies
# script:
# - cd kstars-build
# - rm -rf Testing
# - xvfb-run -a make test QT_TEST_TIMEOUT_FUNCTION=600000 ARGS='-T test --no-compress-output'
# artifacts:
# reports:
# junit:
# kstars-build/Testing/**.xml
build-appimage:
image: tallfurryman/kstars-ci
before_script:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment