summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-04-02 09:50:16 +0300
committerAndrew Dolgov <[email protected]>2023-04-02 10:10:42 +0300
commit112edbb3047df0d417c8b32de5aad0acec91699b (patch)
treefa1be946cc64b4ae001d9f2d3891b67fa1bd523b
parent204c4bf654948d6620b09c8975e716435c82d5fc (diff)
add gitlab ci
-rw-r--r--.gitlab-ci.yml46
1 files changed, 46 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..81f7e18
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,46 @@
+variables:
+ ANDROID_HOME: /toolcache/android-sdk
+
+stages:
+ - build
+ - deploy
+
+build-apk:
+ image: ${CI_ANDROID_IMAGE}
+ stage: build
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ before_script:
+ - >
+ [ -d $ANDROID_HOME ] || exit 1
+ script:
+ - base64 -d < ${FDROID_KEYSTORE} > /fdroid.jks
+ - bash ./gradlew --no-daemon assembleFdroid
+ -PFDROID_STORE_FILE=/fdroid.jks
+ -PFDROID_STORE_PASSWORD=${FDROID_STORE_PASSWORD}
+ -PFDROID_KEY_ALIAS=fdroid
+ -PFDROID_KEY_PASSWORD=${FDROID_KEY_PASSWORD}
+ artifacts:
+ paths:
+ - ${CI_PROJECT_DIR}/**/*.apk
+
+deploy-apk:
+ image: ${CI_DOCKER_IMAGE}
+ stage: deploy
+ needs:
+ - build-apk
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ when: manual
+ script:
+ - |
+ mkdir -p ~/.ssh
+ cp ${APK_DEPLOY_SSH_KEY} ~/.ssh/id_ed25519
+ chmod 600 ~/.ssh/id_ed25519
+ - |
+ find . -name '*.apk' -type f | while read APK; do
+ scp -oStrictHostKeyChecking=no $APK ${APK_DEPLOY_HOST}:fdroid/repo/
+ done
+
+ ssh -oStrictHostKeyChecking=no ${APK_DEPLOY_HOST} \
+ sudo -u docker-mgr /usr/local/sbin/fdroid-update-repo