8bd19bd4db
Bumps the gh-deps group with 1 update in the /.github/actions/dart_package directory: [codecov/codecov-action](https://github.com/codecov/codecov-action). Bumps the gh-deps group with 2 updates in the /.github/actions/flutter_package directory: [codecov/codecov-action](https://github.com/codecov/codecov-action) and [VeryGoodOpenSource/very_good_coverage](https://github.com/verygoodopensource/very_good_coverage). Bumps the gh-deps group with 2 updates in the /.github/actions/publish_flutter_package directory: [actions/checkout](https://github.com/actions/checkout) and [actions/github-script](https://github.com/actions/github-script). Bumps the gh-deps group with 1 update in the /.github/actions/rust_crate directory: [codecov/codecov-action](https://github.com/codecov/codecov-action). Updates `codecov/codecov-action` from 3 to 6 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v3...v6) Updates `codecov/codecov-action` from 3 to 6 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v3...v6) Updates `VeryGoodOpenSource/very_good_coverage` from 2 to 3 - [Release notes](https://github.com/verygoodopensource/very_good_coverage/releases) - [Changelog](https://github.com/VeryGoodOpenSource/very_good_coverage/blob/main/CHANGELOG.md) - [Commits](https://github.com/verygoodopensource/very_good_coverage/compare/v2...v3) Updates `actions/checkout` from 4 to 6 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v6) Updates `actions/github-script` from 6 to 8 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v6...v8) Updates `codecov/codecov-action` from 3 to 6 - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v3...v6) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-deps - dependency-name: codecov/codecov-action dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-deps - dependency-name: VeryGoodOpenSource/very_good_coverage dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-deps - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-deps - dependency-name: actions/github-script dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-deps - dependency-name: codecov/codecov-action dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: gh-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
100 lines
3.3 KiB
YAML
100 lines
3.3 KiB
YAML
name: Flutter Package Workflow
|
|
description: Build and test your Flutter packages.
|
|
|
|
inputs:
|
|
codecov_token:
|
|
required: true
|
|
description: The Codecov token used to upload coverage
|
|
concurrency:
|
|
required: false
|
|
default: "4"
|
|
description: The value of the concurrency flag (-j) used when running tests
|
|
coverage_excludes:
|
|
required: false
|
|
default: ""
|
|
description: Globs to exclude from coverage
|
|
working_directory:
|
|
required: false
|
|
default: "."
|
|
description: The working directory for this workflow
|
|
min_coverage:
|
|
required: false
|
|
default: "100"
|
|
description: The minimum coverage percentage value
|
|
analyze_directories:
|
|
required: false
|
|
default: "lib test"
|
|
description: Directories to analyze
|
|
report_on:
|
|
required: false
|
|
default: "lib"
|
|
description: Directories to report on when collecting coverage
|
|
example_platform:
|
|
required: false
|
|
default: "web"
|
|
description: Platform to use when building example
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- uses: subosito/flutter-action@v2
|
|
|
|
- name: Install Dependencies
|
|
working-directory: ${{ inputs.working_directory }}
|
|
shell: ${{ inputs.shell }}
|
|
run: flutter pub get
|
|
|
|
- name: Format
|
|
working-directory: ${{ inputs.working_directory }}
|
|
shell: ${{ inputs.shell }}
|
|
run: dart format --set-exit-if-changed .
|
|
|
|
- name: Analyze
|
|
working-directory: ${{ inputs.working_directory }}
|
|
shell: ${{ inputs.shell }}
|
|
run: dart analyze --fatal-warnings ${{inputs.analyze_directories}}
|
|
|
|
- name: Build Example
|
|
working-directory: ${{ inputs.working_directory }}/example
|
|
shell: ${{ inputs.shell }}
|
|
run: flutter build ${{ inputs.example_platform }}
|
|
|
|
- name: Test
|
|
working-directory: ${{ inputs.working_directory }}
|
|
shell: ${{ inputs.shell }}
|
|
run: flutter test --coverage
|
|
|
|
- name: Exclude Generated Code from Coverage
|
|
if: ${{ inputs.coverage_excludes != '' }}
|
|
working-directory: ${{ inputs.working_directory }}
|
|
shell: ${{ inputs.shell }}
|
|
run: |
|
|
mv coverage/lcov.info coverage/lcov.info.bak
|
|
sudo apt-get -y install lcov
|
|
lcov --remove coverage/lcov.info.bak "${{inputs.coverage_excludes}}" -o coverage/lcov.info
|
|
|
|
# Per https://stackoverflow.com/questions/73402042/github-action-expressions-split-string
|
|
- name: Split package name
|
|
env:
|
|
PACKAGE_PATH: ${{ inputs.working_directory}}
|
|
id: split
|
|
shell: ${{ inputs.shell }}
|
|
run: echo "package_name=${PACKAGE_PATH##*/}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Upload Coverage
|
|
uses: codecov/codecov-action@v6
|
|
with:
|
|
# We use Codecov's carryforward flags to allow our PR testing to only
|
|
# run affected packages, but also allow our coverage information from
|
|
# past runs to "carry forward" on a "per flag" basis. We tag coverage
|
|
# information with "flags" explaining what directory the coverage is from.
|
|
# https://docs.codecov.com/docs/carryforward-flags
|
|
flags: ${{ steps.split.outputs.package_name }}
|
|
token: ${{ inputs.codecov_token }}
|
|
|
|
- uses: VeryGoodOpenSource/very_good_coverage@v3
|
|
with:
|
|
path: ${{inputs.working_directory}}/coverage/lcov.info
|
|
exclude: ${{inputs.coverage_excludes}}
|
|
min_coverage: ${{inputs.min_coverage}}
|