Files
flutter/.github/workflows/make-release.yml
dependabot[bot] 13e39bd958 Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 20:10:13 +02:00

153 lines
3.9 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@v5
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@v5
# 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/linux-x64.tar.gz
builds-ios/Runner.app.zip
builds-ipa/Runner.xcarchive.zip
builds-macos/wger.app.zip
builds-windows/wger.exe