Skip to content

Build all app at once #3

Build all app at once

Build all app at once #3

name: Build all app at once
on: workflow_dispatch
jobs:
build-linux-deb:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.16.9'
- name: Clone project
run: git clone https://github.com/anandnet/Harmony-Music.git
- name: Flutter doctor
run: flutter doctor
- name: Install project dependencies
working-directory: ./Harmony-Music
run: flutter pub get
- name: Update lang data
working-directory: ./Harmony-Music
run: dart localization/generator.dart
- name: Set update check flag to true
working-directory: ./Harmony-Music/lib/utils
run: echo "const updateCheckFlag = true;" > update_check_flag_file.dart
- name: install required deps for linux package
run: |
sudo apt-get install libmpv-dev mpv libayatana-appindicator3-dev ninja-build libgtk-3-dev
- name: Flutter doctor
run: flutter doctor
- name: Build linux deb package
working-directory: ./Harmony-Music
run: |
dart pub global activate flutter_distributor
flutter_distributor package --platform linux --targets deb
- name: Upload linux deb artifact
uses: actions/upload-artifact@v4
with:
name: Harmony music linux deb
path: ./Harmony-Music/dist/*
build-android-apk-and-windows-exe:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.16.9'
- uses: actions/setup-java@v4
with:
distribution: 'microsoft'
java-version: '11'
- name: Clone project
run: git clone https://github.com/anandnet/Harmony-Music.git
- name: Flutter doctor
run: flutter doctor
- name: Install project dependencies
working-directory: ./Harmony-Music
run: flutter pub get
- name: Update lang data
working-directory: ./Harmony-Music
run: dart localization/generator.dart
- name: Set update check flag to true
working-directory: ./Harmony-Music/lib/utils
run: echo "const updateCheckFlag = true;" > update_check_flag_file.dart
- name: Build android apk
working-directory: ./Harmony-Music
run: |
flutter build apk --split-per-abi --release
flutter build apk
- name: Upload apk artifact
uses: actions/upload-artifact@v4
with:
name: Harmony music apk
path: ./Harmony-Music/build/app/outputs/flutter-apk/*apk
- name: Build windows exe package
working-directory: ./Harmony-Music
run: |
dart pub global activate flutter_distributor
flutter_distributor package --platform windows --targets exe
- name: Upload Windows exe artifact
uses: actions/upload-artifact@v4
with:
name: Harmony music windows exe
path: ./Harmony-Music/dist/*
build-ios-ipa:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.16.9'
- name: Clone project
run: git clone https://github.com/anandnet/Harmony-Music.git
- name: Flutter doctor
run: flutter doctor
- name: Install project dependencies
working-directory: ./Harmony-Music
run: flutter pub get
- name: Update lang data
working-directory: ./Harmony-Music
run: dart localization/generator.dart
- name: Set update check flag to true
working-directory: ./Harmony-Music/lib/utils
run: echo "const updateCheckFlag = true;" > update_check_flag_file.dart
- name: release ios package
working-directory: ./Harmony-Music
run: flutter build ios --release --no-codesign
- run: mkdir Payload
working-directory: ./Harmony-Music/build/ios/iphoneos
- run: mv Runner.app/ Payload
working-directory: ./Harmony-Music/build/ios/iphoneos
- name: Zip output
run: zip -qq -r -9 harmonymusic.ipa Payload
working-directory: ./Harmony-Music/build/ios/iphoneos
- name: Upload ios ipa artifact
uses: actions/upload-artifact@v4
with:
name: Harmony music ios ipa
path: ./Harmony-Music/build/ios/iphoneos/harmonymusic.ipa