Skip to content

ci(all): Analyze every package individually #381

ci(all): Analyze every package individually

ci(all): Analyze every package individually #381

Workflow file for this run

# Build Sensors Plus Example
name: sensors_plus
concurrency:
group: sensors_plus_${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
on:
pull_request:
paths:
- "packages/sensors_plus/**"
- ".github/workflows/sensors_plus.yaml"
- "!**.md"
- "!**.gitignore"
env:
PLUGIN_SCOPE: "*sensors_plus*"
PLUGIN_EXAMPLE_SCOPE: "*sensors_plus_example*"
jobs:
analyze:
name: "Dart Analyzer"
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Install Flutter"
run: ./.github/workflows/scripts/install-flutter.sh stable
- name: "Install Tools"
run: |
./.github/workflows/scripts/install-tools.sh
- name: "Bootstrap Workspace"
run: melos bootstrap
- name: "Run Dart Analyze"
uses: invertase/github-action-dart-analyzer@v3
with:
fatal-infos: false
fatal-warnings: true
annotate: true
working-directory: ./packages/sensors_plus
android_build:
runs-on: macos-14
timeout-minutes: 30
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Install Flutter"
run: ./.github/workflows/scripts/install-flutter.sh stable
- name: "Install Tools"
run: ./.github/workflows/scripts/install-tools.sh
- name: "Build Example"
run: ./.github/workflows/scripts/build-examples.sh android ./lib/main.dart
android_integration_test:
# Use non M1 machine till https://github.com/ReactiveCircus/android-emulator-runner/issues/350 is resolved
runs-on: macos-13
timeout-minutes: 30
strategy:
matrix:
android-api-level: [ 22, 26, 31 ]
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Install Flutter"
run: ./.github/workflows/scripts/install-flutter.sh stable
- name: "Install Tools"
run: ./.github/workflows/scripts/install-tools.sh
- name: "Bootstrap Workspace"
run: melos bootstrap --scope="$PLUGIN_SCOPE"
- name: "Android Integration Test"
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.android-api-level }}
cores: 3
target: google_apis
arch: x86_64
force-avd-creation: false
profile: Nexus 5X
script: ./.github/workflows/scripts/integration-test.sh android sensors_plus_example
ios:
runs-on: macos-14
timeout-minutes: 30
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Install Flutter"
run: ./.github/workflows/scripts/install-flutter.sh stable
- name: "Install Tools"
run: ./.github/workflows/scripts/install-tools.sh
- name: "Build Example"
run: ./.github/workflows/scripts/build-examples.sh ios ./lib/main.dart
ios_integration_test:
runs-on: macos-14
timeout-minutes: 30
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Install Flutter"
run: ./.github/workflows/scripts/install-flutter.sh stable
- name: "Install Tools"
run: ./.github/workflows/scripts/install-tools.sh
- name: "Start Simulator"
uses: futureware-tech/simulator-action@v3
with:
model: 'iPhone 14'
- name: "Bootstrap Workspace"
run: melos bootstrap --scope="$PLUGIN_SCOPE"
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh ios sensors_plus_example
web:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: "Checkout repository"
uses: actions/checkout@v4
- name: "Install Flutter"
run: ./.github/workflows/scripts/install-flutter.sh stable
- name: "Install Tools"
run: ./.github/workflows/scripts/install-tools.sh
- name: "Build Example"
run: ./.github/workflows/scripts/build-examples.sh web ./lib/main.dart