Rc/8.2.0 #176
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: Flutter CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - "**/*.md" | |
| - ".github/**" | |
| pull_request: | |
| branches: | |
| - master | |
| paths-ignore: | |
| - "**/*.md" | |
| - ".github/**" | |
| workflow_dispatch: | |
| env: | |
| FLUTTER_VERSION: 3.24.0 | |
| PANA_VERSION: 0.22.8 | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v6 | |
| - name: 🐦 Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| cache: true | |
| - name: 📦 Install Additional Tooling | |
| # Add additional Flutter tooling | |
| run: | | |
| dart pub global activate pana ${{ env.PANA_VERSION }} | |
| - name: ✂ Format Code | |
| run: dart format --set-exit-if-changed . | |
| - name: 📊 Analyze Code | |
| run: flutter analyze --fatal-infos --fatal-warnings . | |
| - name: 🔎 Pana Check | |
| run: pana --no-warning | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: lint | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v6 | |
| - name: 🐦 Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| cache: true | |
| - name: 🧪 Run Tests | |
| run: flutter test | |
| build-android: | |
| runs-on: ubuntu-latest | |
| needs: test | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v6 | |
| - name: 🐦 Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| cache: true | |
| - name: 🤖 Build Android app | |
| working-directory: example | |
| run: flutter build apk --release | |
| build-ios: | |
| runs-on: macos-latest | |
| needs: test | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v6 | |
| - name: 🐦 Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| cache: true | |
| - name: 🍎 Build iOS app | |
| working-directory: example | |
| run: flutter build ios --release --no-codesign | |
| # Exercises the Swift Package Manager integration path, which the CocoaPods | |
| # `build-ios` job never reads (SPM is opt-in behind a feature flag). Uses a | |
| # throwaway consumer app instead of the example app: a plain consumer never | |
| # gets Flutter's example-only local package override, so it builds regardless | |
| # of the checkout directory name (the example app would require the checkout | |
| # dir to be named `freerasp`). FlutterFramework SwiftPM package requires 3.41.0+. | |
| build-ios-spm: | |
| runs-on: macos-latest | |
| needs: test | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v6 | |
| - name: 🐦 Setup Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| flutter-version: 3.44.0 | |
| cache: true | |
| - name: 📦 Enable Swift Package Manager | |
| run: flutter config --enable-swift-package-manager | |
| - name: 🍎 Build iOS consumer app with SPM | |
| run: | | |
| set -euo pipefail | |
| flutter create --platforms=ios "$RUNNER_TEMP/spm_consumer" | |
| cd "$RUNNER_TEMP/spm_consumer" | |
| flutter pub add freerasp --path "$GITHUB_WORKSPACE" | |
| flutter build ios --release --no-codesign |