Files
PurrfectSnap/.github/workflows/release.yml
2023-05-30 17:47:23 +00:00

75 lines
2.4 KiB
YAML

name: Release CI
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Clean Gradle Cache
run: ./gradlew clean
- name: Build Release APK
run: ./gradlew assembleRelease
- name: Sign armv7 APK
id: sign_armv7_app
uses: kevin-david/zipalign-sign-android-release@v1.1
with:
releaseDirectory: app/build/outputs/apk/armv7/release/
signingKeyBase64: ${{ secrets.JAVA_KEYSTORE_DATA }}
alias: ${{ secrets.KEYSTORE_ALIAS }}
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
- name: Upload armv7 artifact
uses: actions/upload-artifact@v3.1.2
with:
name: app-armv7-release
path: ${{ steps.sign_armv7_app.outputs.signedReleaseFile }}
- name: Sign armv8 APK
id: sign_armv8_app
uses: kevin-david/zipalign-sign-android-release@v1.1
with:
releaseDirectory: app/build/outputs/apk/armv8/release/
signingKeyBase64: ${{ secrets.JAVA_KEYSTORE_DATA }}
alias: ${{ secrets.KEYSTORE_ALIAS }}
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
keyPassword: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
- name: Upload armv8 artifact
uses: actions/upload-artifact@v3.1.2
with:
name: app-armv8-release
path: ${{ steps.sign_armv8_app.outputs.signedReleaseFile }}
- name: Generate Version
run: |
./gradlew getVersion
- name: Set Version to Environment
id: version-env
run: echo "version=$(cat app/build/version.txt)" >> $GITHUB_ENV
- name: Publish APK
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
${{ steps.sign_armv7_app.outputs.signedReleaseFile }}
${{ steps.sign_armv8_app.outputs.signedReleaseFile }}
automatic_release_tag: v${{ env.version }}