| name: package:cronet_http CI |
| |
| on: |
| push: |
| branches: |
| - main |
| - master |
| paths: |
| - 'pkgs/cronet_http/**' |
| - 'pkgs/http_client_conformance_tests/**' |
| pull_request: |
| paths: |
| - 'pkgs/cronet_http/**' |
| - 'pkgs/http_client_conformance_tests/**' |
| schedule: |
| - cron: "0 0 * * 0" |
| |
| env: |
| PUB_ENVIRONMENT: bot.github |
| |
| jobs: |
| analyze: |
| name: Lint and static analysis |
| runs-on: ubuntu-latest |
| defaults: |
| run: |
| working-directory: pkgs/cronet_http |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: subosito/flutter-action@v2 |
| with: |
| # TODO: Change to 'stable' when a release version of flutter |
| # pins version 1.21.1 or later of 'package:test' |
| channel: 'master' |
| - id: install |
| name: Install dependencies |
| run: flutter pub get |
| - name: Check formatting |
| run: dart format --output=none --set-exit-if-changed . |
| if: always() && steps.install.outcome == 'success' |
| - name: Analyze code |
| run: flutter analyze --fatal-infos |
| if: always() && steps.install.outcome == 'success' |
| |
| test: |
| # Test package:cupertino_http use flutter integration tests. |
| needs: analyze |
| name: "Build and test" |
| runs-on: macos-latest |
| steps: |
| - uses: actions/checkout@v4 |
| - uses: actions/setup-java@v3 |
| with: |
| distribution: 'zulu' |
| java-version: '17' |
| - uses: subosito/flutter-action@v2 |
| with: |
| channel: 'stable' |
| - name: Run tests |
| uses: reactivecircus/android-emulator-runner@v2 |
| with: |
| api-level: 28 |
| target: playstore |
| arch: x86_64 |
| profile: pixel |
| script: cd ./pkgs/cronet_http/example && flutter test --timeout=1200s integration_test/ |