Skip to content

Flutter CI

Flutter CI #78

Workflow file for this run

name: Flutter CI
on:
push:
tags:
- v**
jobs:
build-and-release-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: beta
- run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev clang mpv libmpv-dev
- name: Install project dependencies
run: flutter pub get
- name: Build artifacts
run: flutter build linux --release -v --split-debug-info=''
- uses: actions/upload-artifact@v3
with:
name: Linux
path: build/linux/x64/release/bundle
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: Release-${{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/Release-${{github.ref_name}}-linux.zip
build-and-release-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Support longpaths
run: git config --system core.longpaths true
- uses: subosito/flutter-action@v2
with:
channel: beta
- name: Install project dependencies
run: flutter pub get
- name: Build artifacts
run: flutter build windows --release --split-debug-info=''
- uses: actions/upload-artifact@v3
with:
name: Windows
path: build/windows/runner/Release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: Release-${{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/Release-${{github.ref_name}}-windows.zip
build-and-release-android:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: beta
- name: Install dependencies
run: flutter pub get
- run: mkdir .key
- name: Decode android/neumodore_key.jks
run: echo "${{ secrets.KEYSTORE }}" | base64 --decode > .key/keystore.jks
- name: Decode android/key.properties
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > .key/key.properties
- run: flutter build apk --release --split-debug-info='' --split-per-abi
- uses: actions/upload-artifact@v3
with:
name: android
path: build/app/outputs/apk/release/app-release.apk
- name: Android release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
build/app/outputs/apk/release/app-arm64-v8a-release.apk
build/app/outputs/apk/release/app-armeabi-v7a-release.apk
build/app/outputs/apk/release/app-x86_64-release.apk
build-and-release-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: beta
- name: Install project dependencies
run: flutter pub get
- name: Build artifacts
run: flutter build macos --release --split-debug-info=''
- uses: actions/upload-artifact@v3
with:
name: MacOS
path: build/macos/Build/Products/Release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: Release-${{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:
files: build/macos/Build/Products/Release/Release-${{github.ref_name}}-macos.zip
build-and-release-ipa:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: beta
- name: Install project dependencies
run: flutter pub get
- name: Build artifacts
run: flutter build ios --no-codesign --split-debug-info=''
- run: mkdir build/ios/iphoneos/Payload
- run: mv build/ios/iphoneos/Runner.app build/ios/iphoneos/Payload/Runner.app
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: Release-${{github.ref_name}}-ios.ipa
directory: build/ios/iphoneos
- name: IOS Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: build/ios/iphoneos/Release-${{github.ref_name}}-ios.ipa