Upgrade build chain #128
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test | |
| # Triggers the workflow on push or pull request on all branches | |
| # and allows you to run this workflow manually from the Actions tab | |
| on: [push, pull_request, workflow_dispatch] | |
| jobs: | |
| flutter-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| - name: Install packages | |
| run: flutter pub get | |
| - name: Show flutter version | |
| run: flutter --version | |
| - name: Show dart version | |
| run: dart --version | |
| - name: Show dart format version | |
| run: dart format --version | |
| - name: Debug dart format issues | |
| run: file lib/l10n/generated/app_localizations.dart | |
| - name: Run full_coverage to generate test/full_coverage_test.dart | |
| run: | | |
| dart pub global activate full_coverage | |
| dart pub global run full_coverage | |
| - name: Ensure standard dart formatting | |
| run: | | |
| # TODO resolve this strange issue where dart format wants to change one file on every run (but not on local machine) | |
| # dart format --output=none --set-exit-if-changed . | |
| dart format . | |
| git diff | |
| - name: Run linters | |
| run: | | |
| # TODO clean up the dart analyzer info stuff | |
| # dart analyze --fatal-infos | |
| dart analyze | |
| dart run custom_lint | |
| - name: Run all tests and generate coverage information in coverage/lcov.info | |
| run: flutter test --coverage | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v3 | |
| with: | |
| files: coverage/lcov.info | |
| verbose: true | |
| integration_test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| - name: Install packages | |
| run: flutter pub get | |
| - 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 integration test | |
| uses: reactivecircus/android-emulator-runner@v2 | |
| with: | |
| api-level: 29 | |
| script: flutter test integration_test |