Skip to content

Release

Release #8

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
version:
description: "Version tag (e.g. v1.0.0)"
required: true
type: string
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
cache: 'gradle'
- name: Set up Android SDK
uses: android-actions/setup-android@v3
- name: Determine Version
id: vars
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT
else
echo "version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: Decode Keystore
run: |
echo "${{ secrets.SIGNING_KEY_STORE_BASE64 }}" | base64 --decode > release.keystore
- name: Build and Sign Release APK
env:
KEYSTORE_FILE: ${{ github.workspace }}/release.keystore
KEYSTORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
run: ./gradlew assembleRelease
- name: Rename Signed APK
run: |
mv app/build/outputs/apk/release/app-release.apk \
app/build/outputs/apk/release/hdb-${{ steps.vars.outputs.version }}.apk
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.vars.outputs.version }}
name: HDB ${{ steps.vars.outputs.version }}
generate_release_notes: true
files: app/build/outputs/apk/release/hdb-${{ steps.vars.outputs.version }}.apk