Developed with 💙 by Very Good Ventures 🦄
Reusable GitHub Workflows used at Very Good Ventures 🦄
To get started add very good workflows to an existing GitHub workflow:
# A reusable workflow for Dart packages
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/dart_package.yml@v1
# A reusable workflow for Flutter packages
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
For a more detailed guide, including tips and tricks, check out our blog.
The Dart package workflow consists of the following steps:
- Install Dependencies
- Format
- Analyze
- Run tests
- Check Code Coverage
Optional The number of concurrent test suites run.
Default 4
Optional List of paths to exclude from the coverage report, separated by an empty space. Supports globs
to describe file patterns.
Default ""
Optional Which Dart SDK version to use. It can be a version (e.g. 2.12.0
) or a channel (e.g. stable
):
Default "stable"
Optional The minimum coverage percentage allowed.
Default 100
Optional The path to the root of the Dart package.
Default "."
name: My Dart Workflow
on: pull_request
jobs:
build:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/dart_package.yml@v1
with:
coverage_excludes: "*.g.dart"
dart_sdk: "stable"
working_directory: "examples/my_dart_package"
The Flutter package workflow consists of the following steps:
- Install Dependencies
- Format
- Analyze
- Run tests
- Check Code Coverage
Optional The number of concurrent test suites run.
Default 4
Optional List of paths to exclude from the coverage report, separated by an empty space. Supports globs
to describe file patterns.
Default ""
Optional The Flutter release channel to use (e.g. stable
).
Default "stable"
Optional The Flutter SDK version to use (e.g. 2.8.1
).
Default ""
Optional The minimum coverage percentage allowed.
Default 100
Optional The path to the root of the Flutter package.
Default "."
Optional Enable the test optimization.
Default true
Note: Since the optimization process groups tests into a single file, golden tests will not work properly. Consider disabling optimizations if you are using golden tests.
Optional Whether to recursively run tests in nested directories.
Default false
name: My Flutter Workflow
on: pull_request
jobs:
build:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
coverage_excludes: "*.g.dart"
flutter_channel: "stable"
flutter_version: "2.8.1"
working_directory: "examples/my_flutter_package"
test_recursion: true