Skip to content

Commit

Permalink
Add golden test
Browse files Browse the repository at this point in the history
  • Loading branch information
Pavel-Sulimau committed Apr 17, 2024
1 parent 098e545 commit 9581939
Show file tree
Hide file tree
Showing 11 changed files with 488 additions and 12 deletions.
30 changes: 22 additions & 8 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,13 @@ jobs:
uses: bluefireteam/melos-action@v3

- name: Run analyzer
run: melos analyze
run: melos run analyze

- name: Check formatting of Dart files
run: melos format_check
run: melos run format_check

- name: Run golden tests
run: melos run test_golden

ci_on_diff:
timeout-minutes: 10
Expand All @@ -52,10 +55,13 @@ jobs:
uses: bluefireteam/melos-action@v3

- name: Run analyzer with Git Diff
run: melos analyze_diff
run: melos run analyze_diff

- name: Check formatting of Dart files with Git Diff
run: melos format_check_diff
run: melos run format_check_diff

- name: Run golden tests with Git Diff
run: melos run test_golden_diff

ci_on_diff_alternative:
timeout-minutes: 10
Expand Down Expand Up @@ -84,8 +90,16 @@ jobs:
echo "MELOS_PACKAGES=$(echo "$changeAffectedPackages" | paste -sd ',' -)" >> $GITHUB_ENV
fi
- name: Run analyzer
run: melos analyze
- name: Print MELOS_PACKAGES global scope
run: |
echo "The Melos global scope is: $MELOS_PACKAGES"
echo "It'll be used as a global filter for the remaining Melos scripts in the pipeline!"
- name: Check formatting of Dart files
run: melos format_check
- name: Run analyzer with Git Diff using MELOS_PACKAGES
run: melos run analyze

- name: Check formatting of Dart files with Git Diff using MELOS_PACKAGES
run: melos run format_check

- name: Run golden tests with Git Diff using MELOS_PACKAGES
run: melos run test_golden
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,8 @@ app.*.map.json

# Melos related
pubspec_overrides.yaml

# Ignore non-CI golden files and failures
**/test/**/goldens/**/*.*
**/test/**/failures/**/*.*
!**/test/**/goldens/ci/*.*
16 changes: 16 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,21 @@
"type": "dart",
"flutterMode": "release"
},
{
"name": "update goldens",
"type": "dart",
"request": "launch",
"args": [
"--update-goldens"
],
"templateFor": "test",
"codeLens": {
"for": [
"run-test",
"run-test-file"
],
"title": "Update goldens"
}
}
]
}
35 changes: 33 additions & 2 deletions melos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,39 @@ command:
scripts:
analyze: melos exec dart analyze .

analyze_diff: melos exec --diff=origin/main...HEAD --include-dependents dart analyze .
analyze_diff:
run: melos exec --diff=origin/main...HEAD --include-dependents \
dart analyze .

format_check_diff: melos exec --diff=origin/main...HEAD --include-dependents dart format . --set-exit-if-changed
format_check_diff:
run: melos exec --diff=origin/main...HEAD --include-dependents \
dart format . --set-exit-if-changed

format_check: melos exec dart format . --set-exit-if-changed

test_golden_package:
run: melos exec flutter test --tags golden --dart-define=CI=true
packageFilters:
dirExists:
- test
dependsOn:
- alchemist

test_golden_package_diff:
run: melos exec --diff=origin/main...HEAD --include-dependents \
flutter test --tags golden --dart-define=CI=true
packageFilters:
dirExists:
- test
dependsOn:
- alchemist

test_golden: melos run test_golden_package --no-select

test_golden_diff: melos run test_golden_package_diff --no-select

update_goldens:
run: melos exec flutter test --update-goldens
packageFilters:
dependsOn:
- alchemist
Loading

0 comments on commit 9581939

Please sign in to comment.