diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c1533360530ecbec6ea14b4e736dd72099f4b0d1..a543c4a10449546605a5029dba302e68e20c16ce 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,64 +1,141 @@
 ---
 stages:
-  - lint
-  - build
+#  - lint
+#  - build
   - package
 
-build_test:
-  image: registry.0xacab.org/jkito/bitmask-vpn:latest
-  stage: build
+#build_test:
+#  image: registry.0xacab.org/jkito/bitmask-vpn:latest
+#  stage: build
+#  script:
+#    - make test
+#    - patch -p1 < docker/*.patch
+#    # TODO missing xcb package in the docker image. investigate what to install to run minimal tests.
+#    # - make test_ui
+#    - PROVIDER=bitmask make vendor && make build
+#  tags:
+#    - linux
+#  artifacts:
+#    paths:
+#      - 'build/qt/release'
+#    expire_in: 1 week
+#
+#lint:
+#  image: golangci/golangci-lint:v1.59-alpine
+#  stage: build
+#  script:
+#    - golangci-lint run --timeout=5m
+#  tags:
+#    - linux
+#
+#debian:
+#  image: registry.0xacab.org/jkito/bitmask-vpn:latest
+#  stage: package
+#  tags:
+#    - linux
+#  script:
+#    - 'PROVIDER="bitmask" make vendor && make package_deb'
+#  artifacts:
+#    paths:
+#      - 'deploy/*.deb'
+#    expire_in: 1 week
+#
+#arch:
+#  image: archlinux
+#  stage: package
+#  before_script:
+#    - "pacman -Suy base-devel --noconfirm"
+#    - "useradd non_root"
+#    - "echo 'non_root ALL=NOPASSWD: ALL' >> /etc/sudoers"
+#    - "mkdir /home/non_root"
+#    - "cp -r Makefile ArchLinux/ /home/non_root"
+#    - "chown -R non_root:non_root /home/non_root"
+#  script:
+#    # makepkg does not run as root, but it needs sudo to install dependencies
+#    - "cd /home/non_root && sudo -u non_root make package_arch"
+#    - "cd /home/non_root && pacman -U ArchLinux/*tar.zst --noconfirm"
+#    # artifacts must be relative to the working directory (e.g. /builds/leap/bitmask-vpn)
+#    - "cp /home/non_root/ArchLinux/*.tar.zst $CI_PROJECT_DIR"
+#  artifacts:
+#    paths:
+#      - '*.tar.zst'
+#    expire_in: 1 week
+#  tags:
+#    - linux
+
+build_debian12_package:
+  stage: package
+  # we use backports because we need go1.22
+  image: debian:bookworm-backports
+  before_script:
+    - "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -q -y make sudo"
+    - "make depends"
+    - "DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang-go"
+    #- "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q debhelper-compat golang make pkg-config g++ git libqt6svg6-dev qt6-tools-dev qt6-tools-dev-tools qt6-base-dev libqt6qml6 qt6-declarative-dev dh-golang libgl-dev qt6-declarative-dev-tools qt6-l10n-tools"
+    #- "DEBIAN_FRONTEND=noninteractive apt-get install -y -q devscripts"
+    #- "DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang-1.22"
+    #- "update-alternatives --install /usr/bin/go go /usr/lib/go-1.22/bin/go 0"
+    - 'ln -s $(qmake6 -query "QT_INSTALL_BINS")/lrelease /usr/local/bin/lrelease'
   script:
-    - make test
-    - patch -p1 < docker/*.patch
-    # TODO missing xcb package in the docker image. investigate what to install to run minimal tests.
-    # - make test_ui
-    - PROVIDER=bitmask make vendor && make build
-  tags:
-    - linux
+    - "PROVIDER=bitmask make vendor"
+    - "PROVIDER=bitmask QMAKE=qmake6 make package_deb"
+    - "make clean"
+    - "PROVIDER=riseup make vendor"
+    - "PROVIDER=riseup QMAKE=qmake6 make package_deb"
   artifacts:
     paths:
-      - 'build/qt/release'
+      - 'deploy/*'
+      - 'build/*'
     expire_in: 1 week
-
-lint:
-  image: golangci/golangci-lint:v1.59-alpine
-  stage: build
-  script:
-    - golangci-lint run --timeout=5m
   tags:
     - linux
 
-debian:
-  image: registry.0xacab.org/jkito/bitmask-vpn:latest
+build_ubuntu22_package:
   stage: package
-  tags:
-    - linux
+  image: ubuntu:22.04
+  before_script:
+    - "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -q -y software-properties-common make sudo"
+    - "add-apt-repository ppa:longsleep/golang-backports -y"
+    - "DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang-go"
+    - "make depends"
+    #- "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q debhelper-compat golang make pkg-config g++ git libqt6svg6-dev qt6-tools-dev qt6-tools-dev-tools qt6-base-dev libqt6qml6 qt6-declarative-dev dh-golang libgl-dev qt6-declarative-dev-tools qt6-l10n-tools"
+    #- "DEBIAN_FRONTEND=noninteractive apt-get install -y -q devscripts"
+    #- "DEBIAN_FRONTEND=noninteractive apt-get install -y -q golang-1.22"
+    #- "update-alternatives --install /usr/bin/go go /usr/lib/go-1.22/bin/go 0"
+    - 'ln -s $(qmake6 -query "QT_INSTALL_BINS")/lrelease /usr/local/bin/lrelease'
   script:
-    - 'PROVIDER="bitmask" make vendor && make package_deb'
+    - "PROVIDER=bitmask make vendor"
+    - "PROVIDER=bitmask QMAKE=qmake6 make package_deb"
+    - "make clean"
+    - "PROVIDER=riseup make vendor"
+    - "PROVIDER=riseup QMAKE=qmake6 make package_deb"
   artifacts:
     paths:
-      - 'deploy/*.deb'
+      - 'deploy/*'
+      - 'build/*'
     expire_in: 1 week
+  tags:
+    - linux
 
-arch:
-  image: archlinux
+build_ubuntu24_package:
   stage: package
+  image: ubuntu:24.04
   before_script:
-    - "pacman -Suy base-devel --noconfirm"
-    - "useradd non_root"
-    - "echo 'non_root ALL=NOPASSWD: ALL' >> /etc/sudoers"
-    - "mkdir /home/non_root"
-    - "cp -r Makefile ArchLinux/ /home/non_root"
-    - "chown -R non_root:non_root /home/non_root"
+    #- "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y -q debhelper-compat golang make pkg-config g++ git libqt6svg6-dev qt6-tools-dev qt6-tools-dev-tools qt6-base-dev libqt6qml6 qt6-declarative-dev dh-golang libgl-dev qt6-declarative-dev-tools qt6-l10n-tools"
+    #- "DEBIAN_FRONTEND=noninteractive apt-get install -y -q devscripts"
+    - "apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -q -y make sudo"
+    - "make depends"
+    - 'ln -s $(qmake6 -query "QT_INSTALL_BINS")/lrelease /usr/local/bin/lrelease'
   script:
-    # makepkg does not run as root, but it needs sudo to install dependencies
-    - "cd /home/non_root && sudo -u non_root make package_arch"
-    - "cd /home/non_root && pacman -U ArchLinux/*tar.zst --noconfirm"
-    # artifacts must be relative to the working directory (e.g. /builds/leap/bitmask-vpn)
-    - "cp /home/non_root/ArchLinux/*.tar.zst $CI_PROJECT_DIR"
+    - "PROVIDER=bitmask make vendor"
+    - "PROVIDER=bitmask QMAKE=qmake6 make package_deb"
+    - "make clean"
+    - "PROVIDER=riseup make vendor"
+    - "PROVIDER=riseup QMAKE=qmake6 make package_deb"
   artifacts:
     paths:
-      - '*.tar.zst'
+      - 'deploy/*'
+      - 'build/*'
     expire_in: 1 week
   tags:
     - linux