[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