aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorMenny Even Danan <menny@evendanan.net>2019-10-30 19:32:19 +0000
committerMenny Even Danan <menny@evendanan.net>2019-10-31 14:53:33 +0000
commite75129b5fd628e5292139ca1db66e1cb4137fe60 (patch)
tree82cd4fa04317654774c663de8cc1934229eb6f30 /.github
parenta67736e446b81973a2b7798e2476d5c194c3dbf5 (diff)
downloadAnySoftKeyboard-e75129b5fd628e5292139ca1db66e1cb4137fe60.tar.gz
AnySoftKeyboard-e75129b5fd628e5292139ca1db66e1cb4137fe60.tar.bz2
Deploy support with GitHub Actions
Diffstat (limited to '.github')
-rw-r--r--.github/actions/deploy/action.yml46
-rw-r--r--.github/actions/deploy/deploy.sh16
-rw-r--r--.github/workflows/anysoftkeyboard.yml50
3 files changed, 96 insertions, 16 deletions
diff --git a/.github/actions/deploy/action.yml b/.github/actions/deploy/action.yml
new file mode 100644
index 000000000..794227b83
--- /dev/null
+++ b/.github/actions/deploy/action.yml
@@ -0,0 +1,46 @@
+name: "Deploy app"
+author: "menny"
+
+inputs:
+ release_deploy:
+ description: "can be 'true', 'false' or 'dry-run'"
+ ref:
+ description: "the commit to calculate the version from"
+ default: "HEAD"
+ crash_report_email:
+ default: "none@example.com"
+ keystore_url:
+ default: ""
+ keystore_password:
+ default: ""
+ keystore_key_alias:
+ default: ""
+ keystore_key_password:
+ default: ""
+ publish_service_account_creds_url:
+ default: ""
+ publish_service_account:
+ default: ""
+runs:
+ using: "docker"
+ image: "docker://menny/ndk_ask:1.13.1"
+ env:
+ TERM: dumb
+ GRADLE_OPTS: "-Dorg.gradle.daemon=false"
+
+ entrypoint: /bin/bash
+ args:
+ - .github/actions/deploy/deploy.sh
+ - ${{ inputs.release_deploy }}
+ - ${{ inputs.ref }}
+ - ${{ inputs.crash_report_email }}
+ - ${{ inputs.keystore_url }}
+ - ${{ inputs.keystore_password }}
+ - ${{ inputs.keystore_key_alias }}
+ - ${{ inputs.keystore_key_password }}
+ - ${{ inputs.publish_service_account_creds_url }}
+ - ${{ inputs.publish_service_account }}
+
+branding:
+ icon: 'upload-cloud'
+ color: 'blue'
diff --git a/.github/actions/deploy/deploy.sh b/.github/actions/deploy/deploy.sh
new file mode 100644
index 000000000..8d7f042f9
--- /dev/null
+++ b/.github/actions/deploy/deploy.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+RELEASE_BUILD=${1}
+GITHUB_REF=${2}
+export ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL=${3}
+KEYSTORE_FILE_URL=${4}
+export ANYSOFTKEYBOARD_KEYSTORE_PASSWORD=${5}
+export ANYSOFTKEYBOARD_KEYSTORE_ALIAS=${6}
+export ANYSOFTKEYBOARD_KEYSTORE_KEY_PASSWORD=${7}
+PUBLISH_CERT_FILE_URL=${8}
+export PUBLISH_APK_SERVICE_ACCOUNT_EMAIL=${9}
+
+export BUILD_COUNT_FOR_VERSION=$( git rev-list --count ${GITHUB_REF} )
+
+echo "Counter is ${BUILD_COUNT_FOR_VERSION}, RELEASE_BUILD: ${RELEASE_BUILD}, and crash email: ${ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL}"
+./scripts/ci/ci_deploy.sh ${RELEASE_BUILD} ${KEYSTORE_FILE_URL} ${PUBLISH_CERT_FILE_URL} \ No newline at end of file
diff --git a/.github/workflows/anysoftkeyboard.yml b/.github/workflows/anysoftkeyboard.yml
index 31a75ecc4..c289b060e 100644
--- a/.github/workflows/anysoftkeyboard.yml
+++ b/.github/workflows/anysoftkeyboard.yml
@@ -118,10 +118,21 @@ jobs:
with:
name: non-app-tests
path: collected_reports/
+ deploy-dry-run:
+ if: github.event_name == 'pull_request'
+ needs: [setup]
+ runs-on: ubuntu-18.04
+ container: menny/ndk_ask:1.13.1
+ steps:
+ - uses: actions/checkout@v1
+ - name: deploy
+ uses: ./.github/actions/deploy
+ with:
+ release_deploy: "dry-run"
pr_audit:
if: github.event_name == 'pull_request'
- needs: [checks, app-tests-shards, non-app-tests]
+ needs: [checks, app-tests-shards, non-app-tests, deploy-dry-run]
runs-on: ubuntu-18.04
steps:
- name: Success Message
@@ -135,18 +146,25 @@ jobs:
steps:
- uses: actions/checkout@v1
- name: deploy
- env:
- RELEASE_BUILD: ${{ contains(github.ref, 'release-branch-v') }}
- KEYSTORE_FILE_URL: ${{ secrets.KEYSTORE_FILE_URL }}
- PUBLISH_CERT_FILE_URL: ${{ secrets.PUBLISH_CERT_FILE_URL }}
- ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL: ${{ secrets.ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL }}
- ANYSOFTKEYBOARD_KEYSTORE_ALIAS: ${{ secrets.ANYSOFTKEYBOARD_KEYSTORE_ALIAS }}
- ANYSOFTKEYBOARD_KEYSTORE_KEY_PASSWORD: ${{ secrets.ANYSOFTKEYBOARD_KEYSTORE_KEY_PASSWORD }}
- ANYSOFTKEYBOARD_KEYSTORE_PASSWORD: ${{ secrets.ANYSOFTKEYBOARD_KEYSTORE_PASSWORD }}
- PUBLISH_APK_SERVICE_ACCOUNT_EMAIL: ${{ secrets.PUBLISH_APK_SERVICE_ACCOUNT_EMAIL }}
- run: |
- echo "This will deploy"
- export BUILD_COUNT_FOR_VERSION=$( git rev-list --count ${GITHUB_REF} -- )
- export BUILD_TYPE="canary"
- if [[ "${RELEASE_BUILD}" == "true" ]] then BUILD_TYPE="release" fi
- echo "Counter is ${BUILD_COUNT_FOR_VERSION}, build-type: ${BUILD_TYPE}, RELEASE_BUILD: ${RELEASE_BUILD}, and crash email: ${ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL}"
+ uses: ./.github/actions/deploy
+ with:
+ release_deploy: ${{ contains(github.ref, 'release-branch-v') }}
+ crash_report_email: ${{ secrets.ANYSOFTKEYBOARD_CRASH_REPORT_EMAIL }}
+ keystore_url: ${{ secrets.KEYSTORE_FILE_URL }}
+ keystore_password: ${{ secrets.ANYSOFTKEYBOARD_KEYSTORE_PASSWORD }}
+ keystore_key_alias: ${{ secrets.ANYSOFTKEYBOARD_KEYSTORE_ALIAS }}
+ keystore_key_password: ${{ secrets.ANYSOFTKEYBOARD_KEYSTORE_KEY_PASSWORD }}
+ publish_service_account_creds_url: ${{ secrets.PUBLISH_CERT_FILE_URL }}
+ publish_service_account: ${{ secrets.PUBLISH_APK_SERVICE_ACCOUNT_EMAIL }}
+ - uses: actions/upload-artifact@v1.0.0
+ with:
+ name: release-apk
+ path: app/build/outputs/apk/debug/app-release.apk
+ - uses: actions/upload-artifact@v1.0.0
+ with:
+ name: proguard-mapping-release-apk
+ path: app/build/outputs/mapping/
+ - uses: actions/upload-artifact@v1.0.0
+ with:
+ name: fdroid-metadata
+ path: outputs/fdroid.yaml