diff options
Diffstat (limited to '.github')
| -rw-r--r-- | .github/actions/deploy/action.yml | 46 | ||||
| -rw-r--r-- | .github/actions/deploy/deploy.sh | 16 | ||||
| -rw-r--r-- | .github/workflows/anysoftkeyboard.yml | 50 |
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 |
