Skip to content

feat(connectivity)!: support multiple ConnectivityResult values at the same time #394

feat(connectivity)!: support multiple ConnectivityResult values at the same time

feat(connectivity)!: support multiple ConnectivityResult values at the same time #394

# Build Connectivity Info Plus Example
name: connectivity_plus
concurrency:
group: connectivity_plus_${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
defaults:
run:
shell: bash
on:
pull_request:
paths:
- "packages/connectivity_plus/**"
- ".github/workflows/connectivity_plus.yaml"
- "!**.md"
- "!**.gitignore"
env:
PLUGIN_SCOPE: "*connectivity_plus*"
PLUGIN_EXAMPLE_SCOPE: "*connectivity_plus_example*"
jobs:
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: [ 21, 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 connectivity_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 connectivity_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 connectivity_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: "Install NetworkManager"
run: sudo apt-get update && sudo apt-get install -y network-manager
- name: "Run Integration Test"
run: ./.github/workflows/scripts/integration-test.sh linux connectivity_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 connectivity_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