Commit f69557a
Changed files (6)
.github
app
health_data_store
.github/workflows/app-CI.yml
@@ -35,7 +35,7 @@ jobs:
sdk: ${{ env.DART_SDK }}
- name: Generate code
run: dart run build_runner build
- working-directory: ./health_data_store
+ working-directory: health_data_store
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
@@ -46,10 +46,14 @@ jobs:
run: |
flutter pub get
flutter pub run build_runner build
- working-directory: ./app
+ working-directory: app
- name: Run tests
- run: flutter test
- working-directory: ./app
+ run: flutter test --coverage
+ working-directory: app
+ - uses: actions/upload-artifact@v4
+ with:
+ name: app-coverage
+ path: app/coverage/lcov.info
integration-test:
name: "๐ ๏ธ๐งช Run integration tests"
@@ -88,7 +92,7 @@ jobs:
sdk: ${{ env.DART_SDK }}
- name: Generate code
run: dart run build_runner build
- working-directory: ./health_data_store
+ working-directory: health_data_store
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
@@ -106,7 +110,7 @@ jobs:
- name: Run integration tests
run: flutter test integration_test --flavor github
- working-directory: ./app
+ working-directory: app
build-android:
name: "๐ ๏ธ Build Android"
@@ -127,7 +131,7 @@ jobs:
sdk: ${{ env.DART_SDK }}
- name: Generate code
run: dart run build_runner build
- working-directory: ./health_data_store
+ working-directory: health_data_store
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
@@ -136,4 +140,4 @@ jobs:
run: flutter config --no-analytics
- name: Build apk
run: flutter build apk --flavor github --debug
- working-directory: ./app
+ working-directory: app
.github/workflows/coverage-overview.yml
@@ -0,0 +1,45 @@
+name: Generate and Deploy Coverage Report
+
+on:
+ workflow_run:
+ workflows:
+ - '๐ฑ Application'
+ - '๐ฆ Packages'
+ types:
+ - completed
+
+jobs:
+ generate-deploy-coverage:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Download app coverage
+ uses: actions/download-artifact@v3
+ with:
+ name: app-coverage
+ path: coverage/app
+
+ - name: Download health data store coverage
+ uses: actions/download-artifact@v3
+ with:
+ name: health_data_store-coverage
+ path: coverage/health_data_store
+
+ - name: Combine Coverage Reports
+ run: |
+ mkdir -p coverage/combined
+ cat coverage/app/lcov.info coverage/health_data_store/coverage.lcov > coverage/combined/lcov.info
+
+ - name: Generate HTML Report
+ run: |
+ npm install -g lcov-report
+ lcov-report -i coverage/combined/lcov.info -o coverage/combined
+
+ - name: Deploy to GitHub Pages
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: coverage/combined
\ No newline at end of file
.github/workflows/pkg-CI.yml
@@ -30,7 +30,9 @@ jobs:
sdk: ${{ env.DART_SDK }}
- name: Get dependencies
- run: dart pub get
+ run: |
+ dart pub get
+ dart pub global activate coverage
working-directory: ./health_data_store
- name: Generate code
run: dart run build_runner build
@@ -39,5 +41,11 @@ jobs:
run: dart analyze
working-directory: ./health_data_store
- name: Run tests
- run: dart test
+ run: |
+ dart test --coverage=coverage
+ format_coverage --lcov --in=coverage --out=coverage.lcov --report-on=lib
working-directory: ./health_data_store
+ - uses: actions/upload-artifact@v4
+ with:
+ name: health_data_store-coverage
+ path: health_data_store/coverage.lcov
app/.gitignore
@@ -31,6 +31,7 @@ migrate_working_dir/
.pub-cache/
.pub/
/build/
+coverage/
# Symbolication related
app.*.symbols
health_data_store/.gitignore
@@ -4,4 +4,6 @@
.dart_tool/
.packages
build/
-pubspec.lock
\ No newline at end of file
+pubspec.lock
+coverage/
+coverage.lcov
\ No newline at end of file
health_data_store/pubspec.yaml
@@ -13,6 +13,7 @@ dependencies:
dev_dependencies:
build_runner: ^2.4.8
+ coverage: ^1.8.0
freezed: ^2.4.7
json_serializable: ^6.7.1
mocktail: ^1.0.3