Skip to content

Release App

Release App #24

# Available Runners: https://github.com/actions/runner-images?tab=readme-ov-file#available-images
name: Release App
on:
workflow_dispatch:
inputs:
platform:
description: "Platform"
required: true
type: choice
options:
- all
- linux
- windows
- macos
jobs:
# Runs on Linux x64
linux:
if: ${{ github.event.inputs.platform == 'linux' || github.event.inputs.platform == 'all' }}
runs-on: ubuntu-22.04
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Apply Flutter Environment
uses: subosito/flutter-action@v2
with:
channel: "stable"
- name: Update dependencies
run: sudo apt-get update -y
- name: Install dependencies
run: sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
- name: Enable Linux
run: flutter config --enable-linux-desktop
- name: Activate Packaging Tool
run: dart pub global activate flutter_distributor
- name: Release App
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: flutter_distributor release --name publish --jobs linux
# Runs on Windows x64
windows:
if: ${{github.event.inputs.platform == 'windows' || github.event.inputs.platform == 'all'}}
runs-on: windows-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Apply Flutter Environment
uses: subosito/flutter-action@v2
with:
channel: "stable"
- name: Enable Windows
run: flutter config --enable-windows-desktop
- name: Activate Packaging Tool
run: dart pub global activate flutter_distributor
- name: Release App
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: flutter_distributor release --name publish --jobs windows
# Runs on Macos Arm64
macos:
if: ${{github.event.inputs.platform == 'macos' || github.event.inputs.platform == 'all'}}
runs-on: macos-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Install appdmg
run: npm install -g appdmg
- name: Apply Flutter Environment
uses: subosito/flutter-action@v2
with:
channel: "stable"
- name: Enable MacOS
run: flutter config --enable-macos-desktop
- name: Activate Packaging Tool
run: dart pub global activate flutter_distributor
- name: Release App
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: flutter_distributor release --name publish --jobs macos