From b8ba9742e2e5e29c32fec7e39d04703229f5fc0f Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+github@gmail.com>
Date: Fri, 16 Dec 2022 14:09:18 +0100
Subject: [PATCH] add packaging and release pipeline, fixes #2

---
 .gitlab-ci.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..bf70fb3
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,45 @@
+image: studip:release-cli
+
+variables:
+  DOCKER_DRIVER: overlay2
+
+stages:
+  - packaging
+  - release
+
+packaging:
+  stage: packaging
+  rules:
+    - if: $CI_COMMIT_TAG
+  before_script:
+    - echo GE_JOB_ID=$CI_JOB_ID >> .packaging.env
+    - mkdir .pkg
+  script:
+      - zip -9r .pkg/$CI_PROJECT_NAME-$CI_COMMIT_TAG.zip * -x 'vendor/*'
+  artifacts:
+    name: "${CI_PROJECT_TITLE} ${CI_COMMIT_TAG}"
+    paths:
+      - .pkg/$CI_PROJECT_NAME-$CI_COMMIT_TAG.zip
+    reports:
+      dotenv: .packaging.env
+    expire_in: never
+
+release:
+    stage: release
+    cache: []
+    rules:
+        - if: $CI_COMMIT_TAG
+    script:
+        - echo 'Running release job'
+    needs:
+        - job: packaging
+          artifacts: true
+    release:
+        name: $CI_COMMIT_TAG
+        description: "${CI_PROJECT_TITLE} ${CI_COMMIT_TAG}"
+        tag_name: $CI_COMMIT_TAG
+        assets:
+            links:
+                - name: "${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.zip"
+                  url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${GE_JOB_ID}/artifacts/.pkg/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.zip"
+                  link_type: package
-- 
GitLab