Adjust the branch in pubspec.yaml #213
Workflow file for this run
This file contains hidden or 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: Lint Checks | |
| # Always run the checks on a push and a PR. | |
| # | |
| # 20250914 gjw Run the tests as separate jobs so we see the individual | |
| # results. We can instead run then as a single job with multiple | |
| # steps, but then it stops on the first fail and so not as | |
| # informative. | |
| on: | |
| push: | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| env: | |
| FLUTTER_VERSION: '3.35.7' | |
| jobs: | |
| analyze: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| flutter-version: ${{env.FLUTTER_VERSION}} | |
| - run: flutter pub get | |
| - run: flutter analyze --fatal-infos | |
| format: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| flutter-version: ${{env.FLUTTER_VERSION}} | |
| - run: flutter pub get | |
| - run: dart format --set-exit-if-changed . | |
| unused_code: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| flutter-version: ${{env.FLUTTER_VERSION}} | |
| - run: flutter pub get | |
| - run: dart pub global activate dart_code_metrics | |
| - run: metrics check-unused-code --disable-sunset-warning lib | |
| unused_files: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| flutter-version: ${{env.FLUTTER_VERSION}} | |
| - run: flutter pub get | |
| - run: dart pub global activate dart_code_metrics | |
| - run: metrics check-unused-files --disable-sunset-warning lib | |
| import_order: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| flutter-version: ${{env.FLUTTER_VERSION}} | |
| - run: flutter pub get | |
| - run: dart pub global activate import_order_lint | |
| - run: import_order --check | |
| markdown: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18 | |
| - run: npm install -g markdownlint-cli | |
| - run: markdownlint *.md lib assets installers | |
| link_checker: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| permissions: | |
| issues: write # required for peter-evans/create-issue-from-file | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Link Checker | |
| id: lychee | |
| uses: lycheeverse/lychee-action@v2 | |
| with: # Don't fail for now but then create an issue - useful? | |
| args: | |
| --verbose | |
| --no-progress | |
| 'assets/**/*.md' | |
| 'assets/**/*.html' | |
| 'lib/**/*.dart' | |
| fail: false | |
| # 20251030 gjw Remove the automatic creation of an issue for | |
| # now. It is creating too many and I am simply closing them. The | |
| # failure of the lint test itself should be enough. | |
| # - name: Create Issue From File | |
| # if: steps.lychee.outputs.exit_code != 0 | |
| # uses: peter-evans/create-issue-from-file@v5 | |
| # with: | |
| # title: Link Checker Report | |
| # content-filepath: ./lychee/out.md | |
| # labels: report, automated issue | |
| locmax: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: make locmax-enforce | |
| copyright: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check copyright headers | |
| run: | | |
| # Find Dart files without proper copyright headers, excluding generated files | |
| missing_copyright=$(find lib -type f -name '*.dart' \ | |
| ! -name '*.g.dart' \ | |
| ! -name '*.gr.dart' \ | |
| ! -name '*.freezed.dart' \ | |
| ! -name '*.chopper.dart' \ | |
| ! -name '*.part.dart' \ | |
| ! -name '*.config.dart' \ | |
| -exec grep -L "Copyright" {} \;) | |
| if [ -n "$missing_copyright" ]; then | |
| echo "❌ Files missing copyright headers:" | |
| echo "$missing_copyright" | |
| echo "" | |
| echo "💡 Note: Generated files (*.g.dart, *.freezed.dart, etc.) are automatically excluded" | |
| exit 1 | |
| else | |
| echo "✅ All non-generated Dart files have copyright headers" | |
| fi | |
| # 20251017 gjw The usual command for running the integration tests | |
| # is `flutter test interaction_test` and each `*_test.dart` is | |
| # run. However for our testing of apps using solidui we need to | |
| # authenticate through an external browser login. The usual `flutter | |
| # test` will not properly authenticate. Instead, we should run `make | |
| # qtest.all` to run the tests. This action | |
| test_enforcement: | |
| runs-on: ubuntu-latest | |
| if: github.event.repository.private == false | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check for batch test commands | |
| run: | | |
| # Check for disallowed "flutter test integration_test/" usage in scripts/workflows | |
| # Exclude comments and this CI check itself | |
| batch_test_found=$(grep -r "flutter test integration_test" \ | |
| .github/workflows/ \ | |
| support/ \ | |
| scripts/ \ | |
| Makefile 2>/dev/null | \ | |
| grep -v "# Check for disallowed" | \ | |
| grep -v "batch_test_found=" | \ | |
| grep -v "echo.*flutter test integration_test/" || true) | |
| if [ -n "$batch_test_found" ]; then | |
| echo "❌ Found disallowed batch test command 'flutter test integration_test/'" | |
| echo "" | |
| echo "Found in:" | |
| echo "$batch_test_found" | |
| echo "" | |
| echo "⚠️ Batch testing fails on desktop due to Flutter framework limitations." | |
| echo "✅ Use 'make qtest' instead - it runs tests individually." | |
| echo "" | |
| echo "See docs/TESTING_GUIDE.md for details." | |
| exit 1 | |
| else | |
| echo "✅ No batch test commands found - using recommended 'make qtest' approach" | |
| fi |