diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8ce605d312c6e0d798f1d956654246c78f711679..5bc842df67b7c2d19605c99e5b478e0eb6c89f6e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,65 @@
+stages:
+  - build
+  - pack
 
-build-amd64:
-  image: appimagecrafters/appimage-builder
+variables:
+  GIT_SUBMODULE_STRATEGY: recursive
+  DOCKER_DRIVER: overlay2
+  CLICKABLE_VERSION: 6.23.1
+
+.arm64: &arm64
+  variables:
+    ARCH: "arm64"
+    ARCH_TRIPLET: "aarch64-linux-gnu"
+
+.amd64: &amd64
+  variables:
+    ARCH: "amd64"
+    ARCH_TRIPLET: "x86_64-linux-gnu"
+
+.dekko:
+  stage: build
+  image: clickable/ci-16.04-$ARCH:$CLICKABLE_VERSION
+  tags:
+    - docker
   script:
-    - export TIMESTAMP=$(date +"%Y%m%d%H%M")
-    - appimage-builder --skip-test --recipe ./appimage-amd64.yml
+    - git clone https://gitlab.com/dekkan/dekko.git --recursive 
+    - cd dekko
+    - clickable build
   artifacts:
     paths:
-      - '*.AppImage'
+      - 'dekko/build/$ARCH_TRIPLET/build/install-root'
+    when: on_success
     expire_in: 1 week
 
-build-arm64:
+
+dekko:arm64:
+  <<: *arm64
+  extends: .dekko
+
+dekko:amd64:
+  <<: *amd64
+  extends: .dekko
+
+.appimage:
   image: appimagecrafters/appimage-builder
   script:
     - export TIMESTAMP=$(date +"%Y%m%d%H%M")
-    - appimage-builder --skip-test --recipe ./appimage-arm64.yml
+    - appimage-builder --skip-test --recipe ./appimage-$ARCH.yml
   artifacts:
     paths:
       - '*.AppImage'
     expire_in: 1 week
+
+appimage:arm64:
+  <<: *arm64
+  extends: .appimage
+  dependencies:
+    - dekko:arm64
+
+
+appimage:amd64:
+  <<: *amd64
+  extends: .appimage
+  dependencies:
+    - dekko:amd64