-
Notifications
You must be signed in to change notification settings - Fork 82
Description
We currently have two workflows, one for each package.
We should consider merging them into a single workflow using a matrix.
Pros:
- We don't repeat installing dependencies
- It might fix coveralls being confused about our repository
- It combines coverage from jobs from a single workflow but not jobs from separate workflows. https://coveralls.io/builds/59018785 https://coveralls.io/builds/59018733
Cons:
- If we have packages that don't depend on each other, I don't know how to skip them.
- (For now, I want to run the CI for
native_assets_cliandc_compileron PRs to both packages anyway. c_compiler immediately imports native_assets_cli, and the example in native_assets_cli imports c_compiler.)
- (For now, I want to run the CI for
- Coverage badge is per whole repo, not per package.
- (Current setup makes the coverage for a single package and ignoring the other.)
Possibly there is a way to let coveralls combine the results from multiple jobs.
https://pub.dev/packages/mono_repo seems to indicate some support, but I'm not sure how to map that to the current workflows.
None of the listed mono_repo packages on the package documentation actually have coverage (badges).
(Slightly off-topic: Another thing to consider is to not split jobs at all, the packages need the same dependencies installed to run, installing those deps takes time as well.)
edit: trying to switch Coveralls to monorepo:
job list: https://coveralls.io/repos/400800/builds
edit 2: Having merged the last PR to main, I can see two builds for main:
Both of them report the correct coverage for the respective packages, but they are not aggregated correctly.
Based on https://github.com/marketplace/actions/coveralls-github-action, maybe it would work if we do a carryforward. (The next question then is if we can get badges for the individual packages.)
edit 3: trying to see what mono_repo generate would do as configuration: https://gist.github.com/dcharkes/338f175398ed0300151b5aa48ea3f878
Also a single file.
