From c30df0c6d410bbee1dc9895bec4848cf801ecdfe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr>
Date: Thu, 24 Jun 2021 20:50:06 +0200
Subject: [PATCH] Add automatic tag creation on release CI step

---
 .gitlab-ci.yml            | 29 +++++++++++++++++++++++++----
 android/gradle.properties |  4 ++--
 2 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 77543d5..f23687e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,6 +5,7 @@ stages:
   - update
   - build-debug
   - build-release
+  - release
   - deploy
 
 tests:
@@ -47,8 +48,8 @@ android:build-debug:
 
 android:build-release:
   stage: build-release
-  only:
-    - master
+  # only:
+  #   - master
   dependencies:
     - android:build-debug
   script:
@@ -74,11 +75,31 @@ android:build-release:
     expire_in: 1 week
   interruptible: true
 
+application:release:
+  stage: release
+  image:
+    name: alpine/git
+  # only:
+  #   - master
+  dependencies:
+    - android:build-release
+  script:
+    - git config user.email "${GITLAB_USER_EMAIL}"
+    - git config user.name "${GITLAB_USER_NAME}"
+    - git remote add release-tag-origin https://oauth2:${GITLAB_ACCESS_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}
+    - VERSION_FILE="$(find . -name 'gradle.properties' | head -n1)"
+    - VERSION_NAME="$(grep '^app.versionName=' "${VERSION_FILE}" | cut -d'=' -f2)"
+    - VERSION_CODE="$(grep '^app.versionCode=' "${VERSION_FILE}" | cut -d'=' -f2)"
+    - TAG_NAME="Release_${VERSION_NAME}_${VERSION_CODE}"
+    - echo "${TAG_NAME}"
+    # - git tag -a "Release_$(date +%Y-%m-%d)" -m "Auto-Release"
+    # - git push release-tag-origin "Release_$(date +%Y-%m-%d)"
+
 android:deploy:
   stage: deploy
   only:
-    - master
+    - tags
   dependencies:
-    - android:build-release
+    - application:release
   script:
     - wget ${REPOSITORY_UPDATE_WEBHOOK}?token=${REPOSITORY_TOKEN}
diff --git a/android/gradle.properties b/android/gradle.properties
index 379a5b7..05f2f47 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=1.0.1
-app.versionCode=2
+app.versionName=1.0.2
+app.versionCode=3
-- 
GitLab