Skip to content

Commit 166b0f6

Browse files
committed
Run tests on every PR for every packages and upload combined coverage report
1 parent 114ca0f commit 166b0f6

10 files changed

+95
-116
lines changed

.github/workflows/coverage.yml

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Combined Coverage Report
2+
3+
on:
4+
workflow_run:
5+
workflows:
6+
- 'functions_client'
7+
- 'gotrue'
8+
- 'postgrest'
9+
- 'realtime_client'
10+
- 'storage_client'
11+
- 'supabase'
12+
- 'supabase_flutter'
13+
- 'yet_another_json_isolate'
14+
types:
15+
- completed
16+
17+
jobs:
18+
combine-coverage:
19+
runs-on: ubuntu-latest
20+
if: ${{ github.event.workflow_run.conclusion == 'success' }}
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Dart
27+
uses: dart-lang/setup-dart@v1
28+
with:
29+
sdk: stable
30+
31+
- name: Install coverage tool
32+
run: dart pub global activate coverage
33+
34+
- name: Create coverage directory
35+
run: mkdir -p coverage
36+
37+
- name: Download coverage artifacts
38+
uses: actions/download-artifact@v4
39+
with:
40+
pattern: coverage-flutter-*
41+
github-token: ${{ secrets.GITHUB_TOKEN }}
42+
run-id: ${{ github.event.workflow_run.id }}
43+
44+
- name: Combine coverage reports
45+
run: |
46+
find coverage -name "lcov.info" -exec cat {} + > coverage/combined_lcov.info
47+
48+
- name: Upload combined coverage to Coveralls
49+
uses: coverallsapp/github-action@master
50+
with:
51+
github-token: ${{ secrets.GITHUB_TOKEN }}
52+
path-to-lcov: coverage/combined_lcov.info

.github/workflows/functions_client.yml

+6-13
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/functions_client/**'
9-
- '.github/workflows/functions_client.yml'
10-
- 'packages/yet_another_json_isolate/**'
11-
127
pull_request:
13-
paths:
14-
- 'packages/functions_client/**'
15-
- '.github/workflows/functions_client.yml'
16-
- 'packages/yet_another_json_isolate/**'
178

189
jobs:
1910
test:
@@ -62,12 +53,14 @@ jobs:
6253
run: dart test --coverage=./coverage
6354

6455
- name: Format coverage
56+
if: ${{ matrix.sdk == 'stable'}}
6557
run: |
6658
dart pub global activate coverage
6759
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
6860
69-
- name: Upload coverage results to Coveralls
70-
uses: coverallsapp/github-action@master
61+
- name: Upload coverage artifact
62+
if: ${{ matrix.sdk == 'stable'}}
63+
uses: actions/upload-artifact@v4
7164
with:
72-
github-token: ${{ secrets.GITHUB_TOKEN }}
73-
path-to-lcov: ./packages/functions_client/coverage/lcov.info
65+
name: coverage-flutter-functions-client
66+
path: ./packages/functions_client/coverage/lcov.info

.github/workflows/gotrue.yml

+5-11
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/gotrue/**'
9-
- '.github/workflows/gotrue.yml'
10-
117
pull_request:
12-
paths:
13-
- 'packages/gotrue/**'
14-
- '.github/workflows/gotrue.yml'
158

169
jobs:
1710
test:
@@ -74,8 +67,9 @@ jobs:
7467
dart pub global activate coverage
7568
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
7669
77-
- name: Upload coverage results to Coveralls
78-
uses: coverallsapp/github-action@master
70+
- name: Upload coverage artifact
71+
if: ${{ matrix.sdk == 'stable'}}
72+
uses: actions/upload-artifact@v4
7973
with:
80-
github-token: ${{ secrets.GITHUB_TOKEN }}
81-
path-to-lcov: ./packages/gotrue/coverage/lcov.info
74+
name: coverage-flutter-gotrue
75+
path: ./packages/gotrue/coverage/lcov.info

.github/workflows/postgrest.yml

+5-13
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/postgrest/**'
9-
- '.github/workflows/postgrest.yml'
10-
- 'packages/yet_another_json_isolate/**'
11-
127
pull_request:
13-
paths:
14-
- 'packages/postgrest/**'
15-
- '.github/workflows/postgrest.yml'
16-
- 'packages/yet_another_json_isolate/**'
178

189
jobs:
1910
test:
@@ -76,8 +67,9 @@ jobs:
7667
dart pub global activate coverage
7768
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
7869
79-
- name: Upload coverage results to Coveralls
80-
uses: coverallsapp/github-action@master
70+
- name: Upload coverage artifact
71+
if: ${{ matrix.sdk == 'stable'}}
72+
uses: actions/upload-artifact@v4
8173
with:
82-
github-token: ${{ secrets.GITHUB_TOKEN }}
83-
path-to-lcov: ./packages/postgrest/coverage/lcov.info
74+
name: coverage-flutter-postgrest
75+
path: ./packages/postgrest/coverage/lcov.info

.github/workflows/realtime_client.yml

+5-11
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/realtime_client/**'
9-
- '.github/workflows/realtime_client.yml'
10-
117
pull_request:
12-
paths:
13-
- 'packages/realtime_client/**'
14-
- '.github/workflows/realtime_client.yml'
158

169
jobs:
1710
test:
@@ -63,8 +56,9 @@ jobs:
6356
dart pub global activate coverage
6457
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
6558
66-
- name: Upload coverage results to Coveralls
67-
uses: coverallsapp/github-action@master
59+
- name: Upload coverage artifact
60+
if: ${{ matrix.sdk == 'stable'}}
61+
uses: actions/upload-artifact@v4
6862
with:
69-
github-token: ${{ secrets.GITHUB_TOKEN }}
70-
path-to-lcov: ./packages/realtime_client/coverage/lcov.info
63+
name: coverage-flutter-realtime-client
64+
path: ./packages/realtime_client/coverage/lcov.info

.github/workflows/storage_client.yml

+5-10
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/storage_client/**'
9-
- '.github/workflows/storage_client.yml'
107
pull_request:
11-
paths:
12-
- 'packages/storage_client/**'
13-
- '.github/workflows/storage_client.yml'
148

159
jobs:
1610
test:
@@ -73,8 +67,9 @@ jobs:
7367
dart pub global activate coverage
7468
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
7569
76-
- name: Upload coverage results to Coveralls
77-
uses: coverallsapp/github-action@master
70+
- name: Upload coverage artifact
71+
if: ${{ matrix.sdk == 'stable'}}
72+
uses: actions/upload-artifact@v4
7873
with:
79-
github-token: ${{ secrets.GITHUB_TOKEN }}
80-
path-to-lcov: ./packages/storage_client/coverage/lcov.info
74+
name: coverage-flutter-storage-client
75+
path: ./packages/storage_client/coverage/lcov.info

.github/workflows/supabase.yml

+5-21
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/supabase/**'
9-
- '.github/workflows/supabase.yml'
10-
- 'packages/functions_client/**'
11-
- 'packages/gotrue/**'
12-
- 'packages/postgrest/**'
13-
- 'packages/realtime_client/**'
14-
- 'packages/storage_client/**'
15-
167
pull_request:
17-
paths:
18-
- 'packages/supabase/**'
19-
- '.github/workflows/supabase.yml'
20-
- 'packages/functions_client/**'
21-
- 'packages/gotrue/**'
22-
- 'packages/postgrest/**'
23-
- 'packages/realtime_client/**'
24-
- 'packages/storage_client/**'
258

269
jobs:
2710
test:
@@ -73,8 +56,9 @@ jobs:
7356
dart pub global activate coverage
7457
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
7558
76-
- name: Upload coverage results to Coveralls
77-
uses: coverallsapp/github-action@master
59+
- name: Upload coverage artifact
60+
if: ${{ matrix.sdk == 'stable'}}
61+
uses: actions/upload-artifact@v4
7862
with:
79-
github-token: ${{ secrets.GITHUB_TOKEN }}
80-
path-to-lcov: ./packages/supabase/coverage/lcov.info
63+
name: coverage-flutter-supabase
64+
path: ./packages/supabase/coverage/lcov.info

.github/workflows/supabase_flutter.yml

+5-25
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/supabase_flutter/**'
9-
- '.github/workflows/supabase_flutter.yml'
10-
- 'packages/functions_client/**'
11-
- 'packages/gotrue/**'
12-
- 'packages/postgrest/**'
13-
- 'packages/realtime_client/**'
14-
- 'packages/storage_client/**'
15-
- 'packages/supabase/**'
16-
- 'packages/yet_another_json_isolate/**'
17-
187
pull_request:
19-
paths:
20-
- 'packages/supabase_flutter/**'
21-
- '.github/workflows/supabase_flutter.yml'
22-
- 'packages/functions_client/**'
23-
- 'packages/gotrue/**'
24-
- 'packages/postgrest/**'
25-
- 'packages/realtime_client/**'
26-
- 'packages/storage_client/**'
27-
- 'packages/supabase/**'
28-
- 'packages/yet_another_json_isolate/**'
298

309
jobs:
3110
test:
@@ -80,8 +59,9 @@ jobs:
8059
cd example
8160
flutter build web
8261
83-
- name: Upload coverage results to Coveralls
84-
uses: coverallsapp/github-action@master
62+
- name: Upload coverage artifact
63+
if: ${{ matrix.sdk == 'stable'}}
64+
uses: actions/upload-artifact@v4
8565
with:
86-
github-token: ${{ secrets.GITHUB_TOKEN }}
87-
path-to-lcov: ./packages/supabase_flutter/coverage/lcov.info
66+
name: coverage-flutter-supabase-flutter
67+
path: ./packages/supabase_flutter/coverage/lcov.info

.github/workflows/yet_another_json_isolate.yml

+5-11
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ on:
44
push:
55
branches:
66
- main
7-
paths:
8-
- 'packages/yet_another_json_isolate/**'
9-
- '.github/workflows/yet_another_json_isolate.yml'
10-
117
pull_request:
12-
paths:
13-
- 'packages/yet_another_json_isolate/**'
14-
- '.github/workflows/yet_another_json_isolate.yml'
158

169
jobs:
1710
test:
@@ -63,8 +56,9 @@ jobs:
6356
dart pub global activate coverage
6457
dart pub global run coverage:format_coverage --lcov --in="./coverage/test" --out="./coverage/lcov.info" --report-on="./lib"
6558
66-
- name: Upload coverage results to Coveralls
67-
uses: coverallsapp/github-action@master
59+
- name: Upload coverage artifact
60+
if: ${{ matrix.sdk == 'stable'}}
61+
uses: actions/upload-artifact@v4
6862
with:
69-
github-token: ${{ secrets.GITHUB_TOKEN }}
70-
path-to-lcov: ./packages/yet_another_json_isolate/coverage/lcov.info
63+
name: coverage-flutter-yet-another-json-isolate
64+
path: ./packages/yet_another_json_isolate/coverage/lcov.info

melos.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ scripts:
3939
exec: dart pub outdated
4040

4141
update-version:
42+
description: Updates the version.dart file for each packages except yet_another_json_isolate
4243
run: |
4344
# Loop through the packages directory
4445
for d in packages/*/ ; do
@@ -53,4 +54,4 @@ scripts:
5354
rm packages/yet_another_json_isolate/lib/src/version.dart
5455
# Stage the version.dart file change
5556
git add packages/*/lib/src/version.dart
56-
description: Updates the version.dart file for each packages except yet_another_json_isolate
57+

0 commit comments

Comments
 (0)