| sidebar_position | 1 |
|---|
This workflow runs helpful checks on a Dart package according to the steps below. As with any workflow, it can be customized.
The Dart package workflow consists of the following steps:
- Setup Dart
- Set SSH Key (if provided)
- Install dependencies
- Run Setup (if provided)
- Format
- Analyze
- Bloc Lint (if enabled)
- Run tests (includes coverage collection and enforcement)
Optional The number of concurrent test suites run.
Default 4
Optional Space-separated list of globs to exclude files from the coverage report (e.g. '**/*.g.dart **/gen/*.dart').
Default ""
Optional Which Dart SDK version to use. It can be a version (e.g. 3.5.0) or a channel (e.g. stable):
Default "stable"
Optional The preferred line length preferred for running the dart format command. Be aware that this does not change the behavior of the analysis step and longer lines could still make the workflow fail if the rule lines_longer_than_80_chars is used.
Optional The minimum coverage percentage allowed.
Default 100
Optional The path to the root of the Dart package.
Default "."
Optional A space-separated list of folders that should be analyzed.
Default "lib test"
Optional A space-separated list of folders that should be formatted.
Default "."
Optional Whether to check for and respect coverage ignore comments (e.g. // coverage:ignore-line).
Default false
Optional A comma-separated list of folders that should be checked in code coverage.
Default "lib"
Optional The operating system on which to run the workflow.
Default "ubuntu-latest"
Optional A command that should be executed immediately after dependencies are installed.
Default ""
Optional A comma-separated list of platforms on which to run the tests.
[vm (default), chrome, firefox, safari, node]
Default "vm"
Optional Run skipped tests instead of skipping them.
Default false
Optional To avoid getting packages in example/ when running dart pub get (if it exists).
Default false
Optional Whether to show uncovered lines when coverage is below 100%. Implicitly enables coverage collection when used alone.
Default true
Optional Whether to collect coverage from imported files only or all files. Counting untested files against coverage (all) results in stricter enforcement.
Allowed values imports, all
Default "imports"
Optional Whether to apply optimizations for test performance.
Default true
Optional Whether to run bloc lint on the package.
Default true
Optional An SSH key used to access private repositories when installing dependencies.
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'
platform: 'chrome,vm'
working_directory: 'examples/my_dart_package'
secrets:
ssh_key: ${{secrets.EXAMPLE_KEY}}