Skip to content

ci(all): Analyze every package individually #528

ci(all): Analyze every package individually

ci(all): Analyze every package individually #528

# Build Package Info Plus Example
name: package_info_plus
concurrency:
group: package_info_plus_${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
defaults:
run:
shell: bash
on:
pull_request:
paths:
- "packages/package_info_plus/**"
- ".github/workflows/package_info_plus.yaml"
- "!**.md"
- "!**.gitignore"
env:
PLUGIN_SCOPE: "*package_info_plus*"
PLUGIN_EXAMPLE_SCOPE: "*package_info_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/package_info_plus
android_example_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 package_info_plus_example
ios_example_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 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: "Bootstrap Workspace"
run: melos bootstrap --scope="$PLUGIN_SCOPE"
- name: "Start Simulator"
uses: futureware-tech/simulator-action@v3
with:
model: 'iPhone 14'
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh ios package_info_plus_example
macos_example_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 macos ./lib/main.dart
macos_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: "Bootstrap Workspace"
run: melos bootstrap --scope="$PLUGIN_SCOPE"
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh macos package_info_plus_example
linux_example_build:
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 linux ./lib/main.dart
linux_integration_test:
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: "Bootstrap Workspace"
run: melos bootstrap --scope="$PLUGIN_SCOPE"
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh linux package_info_plus_example
windows_example_build:
runs-on: windows-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 windows ./lib/main.dart
windows_integration_test:
runs-on: windows-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: "Bootstrap Workspace"
run: melos.bat bootstrap --scope="$PLUGIN_SCOPE"
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh windows package_info_plus_example
web_example_build:
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
web_integration_test:
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: "Bootstrap Workspace"
run: melos bootstrap --scope="$PLUGIN_SCOPE"
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh web package_info_plus_example