[education/rkward/releases/0.8.2] /: Add (manual) CI job for creating and test-compiling source release
Thomas Friedrichsmeier
null at kde.org
Sat Sep 27 23:09:46 BST 2025
Git commit d6cfa96dd8ab6c924229142bda0733a0fadc5d1c by Thomas Friedrichsmeier.
Committed on 27/09/2025 at 22:09.
Pushed by tfry into branch 'releases/0.8.2'.
Add (manual) CI job for creating and test-compiling source release
M +33 -11 .gitlab-ci.yml
https://invent.kde.org/education/rkward/-/commit/d6cfa96dd8ab6c924229142bda0733a0fadc5d1c
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 933c55c5c..87659b21a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -40,27 +40,31 @@ clang_format:
# setup mix-and-matched from okular, removing some extras
# combined check for building on "old" distribution (old distro should ideally be the previous ubuntu LTS, but that does not have kf6, yet)
# debian:stable has the advantage of being cached, and will likely remain stable for some time to come
-build_clazy_stable:
+.build_debian_stable:
stage: build
image: debian:stable
tags:
- Linux
- only:
- - merge_requests
variables:
- #CLAZY_CHECKS: level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch
- #CXXFLAGS: -Werror -Wno-deprecated-declarations > rather using check_warnings, below
- CC: clang
- CXX: clazy
+ RKWARD_BUILDDEPS: cmake extra-cmake-modules qt6-webengine-dev libkf6notifications-dev gettext libkf6coreaddons-dev libkf6crash-dev libkf6guiaddons-dev libkf6i18n-dev libkf6iconthemes-dev libkf6breezeicons-dev libkf6texteditor-dev libkf6textwidgets-dev libkf6windowsystem-dev libkf6xmlgui-dev r-base-dev
before_script:
- apt-get update
- apt-get install --yes eatmydata
- - eatmydata apt-get install --yes --no-install-recommends clazy clang
- # rkward build deps:
- - eatmydata apt-get install --yes --no-install-recommends cmake extra-cmake-modules qt6-webengine-dev libkf6notifications-dev gettext libkf6coreaddons-dev libkf6crash-dev libkf6guiaddons-dev libkf6i18n-dev libkf6iconthemes-dev libkf6breezeicons-dev libkf6texteditor-dev libkf6textwidgets-dev libkf6windowsystem-dev libkf6xmlgui-dev r-base-dev
- script:
- export LC_ALL=C.UTF-8
+
+build_debian_stable_clazy:
+ extends: .build_debian_stable
+ rules:
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_DRAFT != "true"
+ when: always
+ - when: manual
+ script:
+ - eatmydata apt-get install --yes --no-install-recommends clazy clang $RKWARD_BUILDDEPS
- mkdir -p build && cd build
+ #CLAZY_CHECKS: level0,level1,level2,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch
+ #CXXFLAGS: -Werror -Wno-deprecated-declarations > rather using check_warnings, below
+ - export CC=clang
+ - export CXX=clazy
- cmake ..
- make -j 9 kdsingleapplication # build first, to ignore all (not just clazy) warnings, in 3rdparty code
- CLAZY_IGNORE_DIRS="3rdparty" make -j 9 > >(tee make.output) 2> >(tee make.error)
@@ -77,3 +81,21 @@ check_warnings:
script:
- "if [[ $(cat build/make.error | grep warning -i) ]]; then cat build/make.error; exit 1; fi"
allow_failure: true
+
+make_source_tar_gz:
+ extends: .build_debian_stable
+ rules:
+ - when: manual
+ script:
+ - eatmydata apt-get install --yes --no-install-recommends $RKWARD_BUILDDEPS r-cran-roxygen2 r-cran-devtools python3-polib rsync ninja-build
+ - mkdir dummy && cd dummy && cmake ..
+ - cd ..
+ - scripts/makedist.sh
+ - mkdir build && cd build
+ - tar -xvzf ../*.tar.gz
+ - cmake rkward-* -G Ninja
+ - ninja
+ artifacts:
+ paths:
+ - ./*.tar.gz
+ expire_in: 1 week
More information about the rkward-tracker
mailing list