summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 81f7e180e9358211afc13db5c317f672d3fc39a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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