Files
flutter/.github/workflows/make-release.yml
Roland Geider fb6579d819 Add automatic flatpak version bumping logic
This now bumps the version number in de.wger.flutter.metainfo.xml, which is
something we were not doing before...
2025-06-17 13:25:54 +02:00

152 lines
3.8 KiB
YAML

name: Build release artefacts
on:
workflow_dispatch:
inputs:
version:
description: Version to tag and release (X.Y.Z)
required: true
type: string
jobs:
ci:
name: CI
uses: ./.github/workflows/ci.yml
determine_version:
needs: ci
name: Prepare
uses: ./.github/workflows/bump-version.yml
with:
app_version: ${{ github.event.inputs.version }}
build_linux:
name: Linux
needs: determine_version
uses: ./.github/workflows/build-linux.yml
with:
ref: ${{ github.event.inputs.version }}
secrets:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
build_android:
name: Android
needs: determine_version
uses: ./.github/workflows/build-android.yml
with:
ref: ${{ github.event.inputs.version }}
secrets:
DECRYPTKEY_PLAYSTORE_SIGNING_KEY: ${{ secrets.DECRYPTKEY_PLAYSTORE_SIGNING_KEY }}
DECRYPTKEY_PROPERTIES: ${{ secrets.DECRYPTKEY_PROPERTIES }}
build_apple:
name: Apple
needs: determine_version
uses: ./.github/workflows/build-apple.yml
with:
ref: ${{ github.event.inputs.version }}
build_windows:
name: Microsoft
needs: determine_version
uses: ./.github/workflows/build-windows.yml
with:
ref: ${{ github.event.inputs.version }}
upload_play_store:
name: Upload to Play Store
runs-on: ubuntu-latest
needs:
- build_android
- build_linux
steps:
- name: Checkout application
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.version }}
- name: Download builds
uses: actions/download-artifact@v4
with:
path: /tmp/
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
- name: Decrypt config files
run: |
cd ./fastlane/metadata/envfiles
chmod +x ./decrypt_secrets.sh
./decrypt_secrets.sh
shell: bash
env:
DECRYPTKEY_PLAYSTORE: ${{ secrets.DECRYPTKEY_PLAYSTORE }}
- name: Upload build to Play Store
run: |
mkdir -p ./build/app/outputs/bundle/release/
cp /tmp/builds-aab/app-release.aab ./build/app/outputs/bundle/release/app-release.aab
bundle install
bundle exec fastlane android production
#
# This is currently commented out since the iOS upload are currently being handled
# by the fastlane script in the ios folder. We use the account of pthaler for this
# and he runs the script manually.
#
# upload_app_store:
# name: Upload to App Store (placeholder)
# runs-on: ubuntu-latest
# needs:
# - build_android
# - build_apple
# steps:
# - name: Checkout application
# uses: actions/checkout@v4
# with:
# ref: feature/build-process
# # ref: ${{ github.event.inputs.version }}
#
# - name: Common flutter setup
# uses: ./.github/actions/flutter-common
#
# - name: Download builds
# uses: actions/download-artifact@v4
# with:
# path: /tmp/
#
# - name: Upload build to App Store
# run: |
# # bundle exec fastlane todo
make_gh_release:
name: Make Github Release
runs-on: ubuntu-latest
needs:
- upload_play_store
- build_linux
- build_windows
- build_apple
steps:
- name: Download builds
uses: actions/download-artifact@v4
- name: Make Github release
uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
tag_name: ${{ inputs.version }}
files: |
builds-aab/app-release.aab
builds-apk/app-release.apk
builds-linux/wger-linux-x86.tar.gz
builds-ios/Runner.app
builds-macos/wger.app
builds-windows/wger.exe