diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 87c2dee6..0cd46903 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,6 +16,8 @@ jobs: channel: 'stable' - name: Test run: | + dart pub global activate melos + melos bootstrap cd workmanager flutter pub get flutter test @@ -43,6 +45,8 @@ jobs: - uses: subosito/flutter-action@v2 with: channel: 'stable' + - name: Activate melos + run: dart pub global activate melos && melos bootstrap - name: Build Android App run: cd example && flutter build apk --debug - name: Run native Android tests @@ -52,11 +56,11 @@ jobs: strategy: matrix: device: - - "iPhone 12 Pro" + - "iPhone 15" fail-fast: false runs-on: macos-latest steps: - - uses: futureware-tech/simulator-action@v2 + - uses: futureware-tech/simulator-action@v3 with: model: '${{ matrix.device }}' - uses: actions/checkout@v4 @@ -64,19 +68,22 @@ jobs: with: channel: 'stable' # Run flutter integrate tests + - name: Activate melos + run: dart pub global activate melos && melos bootstrap - name: Run Flutter integration tests run: cd example && flutter test integration_test/workmanager_integration_test.dart drive_android: - runs-on: macos-latest + runs-on: ubuntu-latest #creates a build matrix for your jobs + timeout-minutes: 30 strategy: #set of different configurations of the virtual environment. matrix: - api-level: [29] + api-level: [31] # api-level: [21, 29] - target: [default] + target: [google_apis] steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 @@ -86,9 +93,18 @@ jobs: - uses: subosito/flutter-action@v2 with: channel: 'stable' + - name: Activate melos + run: dart pub global activate melos && melos bootstrap + - name: Enable KVM + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm - name: Run Flutter Driver tests uses: reactivecircus/android-emulator-runner@v2 with: + arch: x86_64 + profile: Nexus 6 api-level: ${{ matrix.api-level }} target: ${{ matrix.target }} script: cd example && flutter test integration_test/workmanager_integration_test.dart