Skip to content

fix: upgrade Flutter 3.22.3 → 3.24.5 and use windows-latest #11

fix: upgrade Flutter 3.22.3 → 3.24.5 and use windows-latest

fix: upgrade Flutter 3.22.3 → 3.24.5 and use windows-latest #11

Workflow file for this run

name: Build & Release
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
workflow_dispatch:
jobs:
build-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.24.5"
channel: "stable"
- name: Generate platform files
run: flutter create --platforms=android .
working-directory: telegram_bot_builder
- name: Get dependencies
run: flutter pub get
working-directory: telegram_bot_builder
- name: Analyze code
run: flutter analyze
working-directory: telegram_bot_builder
- name: Run tests
run: flutter test
working-directory: telegram_bot_builder
- name: Build APK
run: flutter build apk --release
working-directory: telegram_bot_builder
- name: Build AppBundle
run: flutter build appbundle --release
working-directory: telegram_bot_builder
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: android-apk
path: telegram_bot_builder/build/app/outputs/flutter-apk/app-release.apk
- name: Upload AppBundle
uses: actions/upload-artifact@v4
with:
name: android-aab
path: telegram_bot_builder/build/app/outputs/bundle/release/app-release.aab
build-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.24.5"
channel: "stable"
- name: Generate platform files
run: flutter create --platforms=ios .
working-directory: telegram_bot_builder
- name: Get dependencies
run: flutter pub get
working-directory: telegram_bot_builder
- name: Build iOS
run: flutter build ios --release --no-codesign
working-directory: telegram_bot_builder
- name: Upload iOS build
uses: actions/upload-artifact@v4
with:
name: ios-build
path: telegram_bot_builder/build/ios/iphoneos/
build-desktop-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.24.5"
channel: "stable"
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libblkid-dev liblzma-dev libgtk-3-dev
- name: Generate platform files
run: flutter create --platforms=linux .
working-directory: telegram_bot_builder
- name: Get dependencies
run: flutter pub get
working-directory: telegram_bot_builder
- name: Build Linux
run: flutter build linux --release
working-directory: telegram_bot_builder
- name: Upload Linux build
uses: actions/upload-artifact@v4
with:
name: linux-build
path: telegram_bot_builder/build/linux/x64/release/bundle/
build-desktop-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.24.5"
channel: "stable"
- name: Generate platform files
run: flutter create --platforms=windows .
working-directory: telegram_bot_builder
- name: Get dependencies
run: flutter pub get
working-directory: telegram_bot_builder
- name: Build Windows
run: flutter build windows --release
working-directory: telegram_bot_builder
- name: Upload Windows build
uses: actions/upload-artifact@v4
with:
name: windows-build
path: telegram_bot_builder/build/windows/x64/runner/Release/
build-desktop-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: "3.24.5"
channel: "stable"
- name: Generate platform files
run: flutter create --platforms=macos .
working-directory: telegram_bot_builder
- name: Get dependencies
run: flutter pub get
working-directory: telegram_bot_builder
- name: Build macOS
run: flutter build macos --release
working-directory: telegram_bot_builder
- name: Upload macOS build
uses: actions/upload-artifact@v4
with:
name: macos-build
path: telegram_bot_builder/build/macos/Build/Products/Release/
release:
name: Create GitHub Release
needs:
[
build-android,
build-ios,
build-desktop-linux,
build-desktop-windows,
build-desktop-macos,
]
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: release-artifacts
- name: Zip release folders
run: |
cd release-artifacts
zip -r ../android-apk.zip android-apk/
zip -r ../android-aab.zip android-aab/
zip -r ../ios-build.zip ios-build/
zip -r ../linux-build.zip linux-build/
zip -r ../windows-build.zip windows-build/
zip -r ../macos-build.zip macos-build/
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v1.0.${{ github.run_number }}
name: Release v1.0.${{ github.run_number }}
body: |
Built from commit ${{ github.sha }}
## Downloads
- **Android APK** — `android-apk.zip`
- **Android AppBundle** — `android-aab.zip`
- **iOS** — `ios-build.zip`
- **Linux** — `linux-build.zip`
- **Windows** — `windows-build.zip`
- **macOS** — `macos-build.zip`
files: |
android-apk.zip
android-aab.zip
ios-build.zip
linux-build.zip
windows-build.zip
macos-build.zip
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}