Skip to content

Commit

Permalink
Correct github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
Henri Cook committed Jul 21, 2024
1 parent 30d3c95 commit dcf7c8f
Showing 1 changed file with 81 additions and 47 deletions.
128 changes: 81 additions & 47 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,65 +1,99 @@
name: Build and Release Flutter Desktop Apps

on:
push:
branches:
- main
on: push

jobs:
build:
build-and-release-linux:
runs-on: ubuntu-latest

strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Setup Flutter
uses: subosito/flutter-action@v2
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v1
with:
flutter-version: 'stable'

- name: Enable desktop platforms
run: |
flutter config --enable-macos-desktop
flutter config --enable-windows-desktop
flutter config --enable-linux-desktop
channel: 'stable'
flutter-version: '2.10.0'
- name: Install dependencies
run: sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Enable linux build
run: flutter config --enable-linux-desktop
- name: Build artifacts
run: flutter build linux --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: MacRecoveryX-${{github.ref_name}}-linux.zip
directory: build/linux/x64/release/bundle
- name: Linux Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: build/linux/x64/release/bundle/MacRecoveryX-${{github.ref_name}}-linux.zip

- name: Build for macOS
if: matrix.os == 'macos-latest'
run: flutter build macos --release
build-and-release-windows:
runs-on: windows-latest

- name: Build for Windows
if: matrix.os == 'windows-latest'
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v1
with:
channel: 'stable'
flutter-version: '2.10.0'
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Enable windows build
run: flutter config --enable-windows-desktop
- name: Build artifacts
run: flutter build windows --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: MacRecoveryX-${{github.ref_name}}-windows.zip
directory: build/windows/runner/Release
- name: Windows Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: build/windows/runner/Release/MacRecoveryX-${{github.ref_name}}-windows.zip

- name: Build for Linux
if: matrix.os == 'ubuntu-latest'
run: flutter build linux --release
build-and-release-macos:
runs-on: macos-latest

- name: Upload macOS build artifacts
if: matrix.os == 'macos-latest'
uses: actions/upload-artifact@v2
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v1
with:
name: macos-release
path: build/macos/Build/Products/Release/

- name: Upload Windows build artifacts
if: matrix.os == 'windows-latest'
uses: actions/upload-artifact@v2
channel: 'stable'
flutter-version: '2.10.0'
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: flutter pub run build_runner build --delete-conflicting-outputs
- name: Enable macOS build
run: flutter config --enable-macos-desktop
- name: Build artifacts
run: flutter build macos --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
name: windows-release
path: build/windows/runner/Release/

- name: Upload Linux build artifacts
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v2
type: 'zip'
filename: MacRecoveryX-${{github.ref_name}}-macos.zip
directory: build/macos/Build/Products/Release
- name: macOS Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: linux-release
path: build/linux/release/
files: build/macos/Build/Products/Release/MacRecoveryX-${{github.ref_name}}-macos.zip

0 comments on commit dcf7c8f

Please sign in to comment.