This repository has been archived by the owner on Jul 16, 2023. It is now read-only.
build: update version #1304
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Analyze package" | |
on: | |
pull_request: | |
branches: | |
- master | |
paths: | |
- "bin/**" | |
- "example/**" | |
- "lib/**" | |
- "test/**" | |
- "tool/**" | |
- "tools/**" | |
- ".github/workflows/package_analyze.yaml" | |
- "analysis_options.yaml" | |
- "dart_dependency_validator.yaml" | |
- "pubspec.yaml" | |
push: | |
branches: | |
- master | |
paths: | |
- "bin/**" | |
- "example/**" | |
- "lib/**" | |
- "test/**" | |
- "tool/**" | |
- "tools/**" | |
- ".github/workflows/package_analyze.yaml" | |
- "analysis_options.yaml" | |
- "dart_dependency_validator.yaml" | |
- "pubspec.yaml" | |
permissions: | |
statuses: write | |
checks: write | |
jobs: | |
analysis: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Validate semantic changelog update | |
if: ${{ github.event_name == 'pull_request' }} | |
uses: GetStream/verify-semantic-changelog-update@v1.0.0 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install Stable Dart | |
uses: dart-lang/setup-dart@v1 | |
with: | |
sdk: "stable" | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: dart pub get | |
- name: Run dependency validator | |
run: | | |
dart pub global activate dependency_validator | |
dart pub global run dependency_validator:dependency_validator | |
- name: Analyze project | |
run: dart analyze --fatal-warnings --fatal-infos . | |
- name: Analyze by DCM | |
uses: dart-code-checker/dart-code-metrics-action@v4.0.0 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
folders: "bin, example, lib, test" | |
pull_request_comment: true | |
fatal_warnings: true | |
fatal_performance: true | |
fatal_style: true | |
check_unused_files: true | |
check_unused_files_folders: "bin, example, lib" | |
- name: Verify formatting | |
run: dart format --set-exit-if-changed . | |
- name: Compute the package score on pub.dev site | |
uses: axel-op/dart-package-analyzer@v3 | |
with: | |
githubToken: ${{ secrets.GITHUB_TOKEN }} | |
testing: | |
needs: analysis | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Install Stable Dart | |
uses: dart-lang/setup-dart@v1 | |
with: | |
sdk: "stable" | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: dart pub get | |
- name: Run tests | |
env: | |
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}} | |
if: success() | |
run: | | |
dart test --coverage=coverage --reporter=github --file-reporter="json:reports/tests.json" | |
dart run coverage:format_coverage --in coverage --out coverage/coverage.lcov --lcov --report-on=lib | |
dart run tool/uncovered_coverage.dart | |
dart test test/fake_test.dart --coverage=coverage | |
dart run coverage:format_coverage --in coverage --out coverage/coverage.lcov --lcov --report-on=lib | |
bash <(curl -s https://codecov.io/bash) -f coverage/coverage.lcov | |
check-minimal-supported-dart-compatibility: | |
needs: analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Dart 2.18.0 | |
uses: dart-lang/setup-dart@v1 | |
with: | |
sdk: "2.18.0" | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: dart pub downgrade | |
- name: Check compatibility | |
run: | | |
dart analyze --fatal-warnings --fatal-infos . | |
dart test --reporter=github | |
check-beta-dart-compatibility: | |
needs: analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Dart beta | |
uses: dart-lang/setup-dart@v1 | |
with: | |
sdk: "beta" | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: dart pub upgrade | |
- name: Check compatibility | |
run: | | |
dart analyze --fatal-warnings --fatal-infos . | |
dart test --reporter=github | |
check-windows-compatibility: | |
needs: analysis | |
runs-on: windows-latest | |
steps: | |
- name: Install Stable Dart | |
uses: dart-lang/setup-dart@v1 | |
with: | |
sdk: "stable" | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: dart pub get | |
- name: Check compatibility | |
run: | | |
dart analyze --fatal-warnings --fatal-infos . | |
dart test --reporter=github |