Skip to content

chore!: update Dart version constraints to ">=3.0.0 <4.0.0" #174

chore!: update Dart version constraints to ">=3.0.0 <4.0.0"

chore!: update Dart version constraints to ">=3.0.0 <4.0.0" #174

Workflow file for this run

name: build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
semantic-pull-request:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/semantic_pull_request.yml@v1
build:
runs-on: ubuntu-latest
strategy:
matrix:
dart-version:
- "2.17.0" # The minimum Dart SDK version supported by the package.
- "stable"
steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
- name: 🎯 Setup Dart
uses: dart-lang/setup-dart@v1
with:
sdk: ${{ matrix.dart-version }}
- name: 📦 Install Dependencies
# Since Dart SDK 3.0.0 (2023-05-10): `dart pub get` and related commands by default also
# update the dependencies in the `example` folder (if it exists). Since this package is
# Dart only and the example uses Flutter, we need to disable this behavior.
#
# [See the CHANGELOG for more details](https://github.com/dart-lang/sdk/blob/3ea1820141876d12f8fcfb6c924d4ce4519511dd/CHANGELOG.md).
run: |
if [[ "${{ matrix.dart-version }}" == "2.17.0" ]]; then
dart pub get
else
dart pub get --no-example
fi
- name: ✨ Check Formatting
run: dart format --set-exit-if-changed lib test
- name: 🕵️ Analyze
run: dart analyze --fatal-infos --fatal-warnings lib test
- name: 🧪 Run Tests
run: |
dart pub global activate coverage 1.2.0
dart test -j 4 --coverage=coverage --platform="vm" && dart pub global run coverage:format_coverage --lcov --check-ignore --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --report-on="lib,test"
- name: 📊 Check Code Coverage
uses: VeryGoodOpenSource/very_good_coverage@v2
spell-check:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/[email protected]
with:
includes: |
**/*.{dart,md,yaml}
!.dart_tool/**/*.{dart,yaml}
.*/**/*.yml
modified_files_only: false
pana:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: subosito/flutter-action@v2
- name: Install Dependencies
run: |
flutter packages get
flutter pub global activate pana
- name: Verify Pub Score
run: |
PANA=$(pana . --no-warning); PANA_SCORE=$(echo $PANA | sed -n "s/.*Points: \([0-9]*\)\/\([0-9]*\)./\1\/\2/p")
echo "score: $PANA_SCORE"
IFS='/'; read -a SCORE_ARR <<< "$PANA_SCORE"; SCORE=SCORE_ARR[0]; TOTAL=SCORE_ARR[1]
if (( $SCORE < $TOTAL )); then echo "minimum score not met!"; exit 1; fi