Skip to content

⚡️ Improve melos and workflow setup #709

⚡️ Improve melos and workflow setup

⚡️ Improve melos and workflow setup #709

Workflow file for this run

name: Tests
on:
push:
branches:
- main
- '6.0.0'
paths-ignore:
- "**.md"
pull_request:
branches:
- main
- '6.0.0'
paths-ignore:
- "**.md"
jobs:
format_analyze:
name: Format & Analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/[email protected]
with:
cache: true
channel: stable
- uses: bluefireteam/melos-action@v2
- run: melos run format:all && melos run analyze:all
test_dio:
needs: [format_analyze]
name: Run unit tests with dio
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sdk: [ 2.15.0, stable, beta ]
platform: [ vm, chrome, firefox ]
steps:
- uses: actions/checkout@v3
- uses: dart-lang/[email protected]
with:
sdk: ${{ matrix.sdk }}
- run: |
chmod +x ./scripts/prepare_pinning_certs.sh
./scripts/prepare_pinning_certs.sh
shell: bash
- run: dart pub get
working-directory: dio
- run: dart test --chain-stack-traces --platform=${{ matrix.platform }}
working-directory: dio
test_plugins:
needs: [format_analyze]
name: Run unit tests with plugins
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sdk: [ 2.15.0, stable, beta ]
directory: ["plugins/cookie_manager", "plugins/http2_adapter"]
steps:
- uses: actions/checkout@v3
- uses: dart-lang/[email protected]
with:
sdk: ${{ matrix.sdk }}
- run: |
chmod +x ./scripts/prepare_pinning_certs.sh
./scripts/prepare_pinning_certs.sh
shell: bash
- name: Install proxy
if: matrix.directory == 'plugins/http2_adapter'
run: sudo apt-get install -y squid
- run: dart pub get
working-directory: ${{ matrix.directory }}
- run: dart test --chain-stack-traces
working-directory: ${{ matrix.directory }}
test_flutter_plugins:
needs: [format_analyze]
name: Run unit tests with Flutter plugins
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
channel: [ min, stable, beta ]
directory: ["plugins/native_dio_adapter"]
defaults:
run:
working-directory: ${{ matrix.directory }}
steps:
- uses: actions/checkout@v3
- name: Prepare Flutter SDK
uses: subosito/[email protected]
with:
cache: true
flutter-version: ${{ matrix.channel == 'min' && '3.13.0' || '' }}
channel: ${{ matrix.channel == 'min' && 'stable' || matrix.channel }}
- run: flutter test