Files
arcanechat-android/.github/workflows/release.yml
T
2021-03-01 20:35:57 -05:00

72 lines
2.2 KiB
YAML

name: Upload Release APK
on:
create:
tags:
- "v[0-9]+.[0-9]+.[0-9]+*"
jobs:
build:
name: Upload Release APK
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- uses: textbook/git-checkout-submodule-action@master
- run: cp jni/deltachat-core-rust/rust-toolchain .
- uses: actions-rs/toolchain@v1
- uses: Swatinem/rust-cache@v1
with:
working-directory: jni/deltachat-core-rust
- uses: actions/setup-java@v1.4.3
with:
java-version: 11
- uses: android-actions/setup-android@v2
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r21d
- name: Compile core
env:
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
export PATH="${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT}"
./scripts/install-toolchains.sh && ./ndk-make.sh
- name: Build APK
run: ./gradlew --no-daemon assembleGplayRelease
- name: Sign APK
uses: r0adkll/sign-android-release@v1
# ID used to access action output
id: sign_app
with:
releaseDirectory: build/outputs/apk/gplay/release
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ env.RELEASE_VERSION }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{steps.sign_app.outputs.signedReleaseFile}}
asset_name: ${{ env.RELEASE_VERSION }}.apk
asset_content_type: application/zip