Skip to content

Github Release

Github Release #101

Workflow file for this run

name: Github Release
on:
push:
tags:
- 'studyu_app-v*'
workflow_dispatch:
concurrency:
group: ${{ github.ref }}-github-release
cancel-in-progress: true
jobs:
github-release:
name: Create Github Release
runs-on: ubuntu-latest
steps:
- name: Await potential publishing on Pub.dev
uses: johannesvedder/await-workflow@v1
with:
workflowId: publish_pubdev.yml
- name: Get the tag name
run: echo "TAG=${GITHUB_REF/refs\/tags\//}" >> "$GITHUB_ENV"
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Prepare upload key
run: |
echo "$STUDYU_ANDROID_KEYSTORE_BASE64" | base64 --decode > app/keystore.jks
echo "$STUDYU_KEY_PROPERTIES" > key.properties
working-directory: app/android
env:
STUDYU_ANDROID_KEYSTORE_BASE64: ${{ secrets.STUDYU_ANDROID_KEYSTORE_BASE64 }}
STUDYU_KEY_PROPERTIES: ${{ secrets.STUDYU_KEY_PROPERTIES }}
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- uses: subosito/flutter-action@v2
with:
channel: stable
cache: true
- name: Build StudyU app apk
run: flutter build apk --release --build-number ${{ github.run_number }}
working-directory: ./app
- name: Create Release
id: create_release
uses: shogo82148/actions-create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.TAG }}
release_name: ${{ env.TAG }}
- name: Upload APK Asset
id: upload-release-asset-apk
uses: shogo82148/actions-upload-release-asset@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./app/build/app/outputs/flutter-apk/app-release.apk
asset_name: studyu-${{ env.TAG }}.apk
asset_content_type: application/zip