chore: split CI into parallel jobs #406
Workflow file for this run
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: shorebird_ci | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - shorebird/dev | |
| jobs: | |
| flutter-tools-tests: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| name: 🛠️ Flutter Tools Tests (${{ matrix.os }}) | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: 🎯 Setup Dart | |
| uses: dart-lang/setup-dart@v1 | |
| - name: 🐦 Run Flutter Tools Tests | |
| run: ../../bin/flutter test test/general.shard | |
| working-directory: packages/flutter_tools | |
| shorebird-android-tests: | |
| # Android tests run on Ubuntu (faster runners, no macOS needed) | |
| runs-on: ubuntu-latest | |
| name: 🤖 Shorebird Android Tests | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: 🎯 Setup Dart | |
| uses: dart-lang/setup-dart@v1 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: "zulu" | |
| java-version: "17" | |
| - name: 📦 Cache Gradle | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
| restore-keys: | | |
| ${{ runner.os }}-gradle- | |
| - name: 🤖 Run Android Tests | |
| run: dart test test/base_test.dart test/android_test.dart | |
| working-directory: packages/shorebird_tests | |
| shorebird-ios-tests: | |
| # iOS tests require macOS for Xcode | |
| runs-on: macos-latest | |
| name: 🍎 Shorebird iOS Tests | |
| steps: | |
| - name: 📚 Git Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: 🎯 Setup Dart | |
| uses: dart-lang/setup-dart@v1 | |
| - name: 🍎 Run iOS Tests | |
| run: dart test test/base_test.dart test/ios_test.dart | |
| working-directory: packages/shorebird_tests |