fix: upgrade Flutter 3.22.3 → 3.24.5 and use windows-latest #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |