Loopp/.gitlab-ci.yml

79 lines
1.7 KiB
YAML

image: $CI_REGISTRY/soundship/loopp-docker-build-env:stable
stages:
- build
- test
- package
#include:
# - template: Code-Quality.gitlab-ci.yml
static-analysis:
tags:
- docker
stage: test
allow_failure: true
script:
- lizard -C 10 -L 200 -x src/cjson/* src/tests/* src/ >&1 | tee lizard.txt
artifacts:
paths:
- lizard.txt
expire_in: 2 days
dependencies: []
build-test:
tags:
- docker
stage: build
script:
- meson buildDir -DunitTests=true -Db_coverage=true
- ninja -C buildDir
artifacts:
untracked: true
expire_in: 1 days
dependencies: []
build-publish:
tags:
- docker
stage: build
script:
- meson --prefix /usr buildDir
- ninja -C buildDir
artifacts:
untracked: true
expire_in: 1 days
test:
tags:
- docker
stage: test
dependencies:
- build-test
script:
- ninja -C buildDir test
- gcovr -b -e buildDir/loopp@exe/catch.hpp -e buildDir/loopp@exe/test_ <&1 | tee buildDir/coverage.txt
artifacts:
paths:
- buildDir/coverage.txt
reports:
junit: buildDir/junit.xml
coverage: '/^TOTAL.*\s+(\d+\%)$/'
package-AppImage:
tags:
- docker
stage: package
dependencies:
- build-publish
script:
- DESTDIR=./appdir ninja -C buildDir install ; find ./buildDir/appdir
- cp resources/icons/loopp.png buildDir/appdir/loopp.png
- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
- /linuxdeployqt-continuous-x86_64.AppImage --appimage-extract
- squashfs-root/AppRun buildDir/appdir/usr/share/applications/*.desktop -appimage
artifacts:
untracked: false
expire_in: 30 days
paths:
- Loopp-*.AppImage*