name: Check Dart Formatting on: push: workflow_dispatch: jobs: check-dart: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 - name: Install Dart uses: dart-lang/setup-dart@v1 with: sdk: '3.8.1' - name: Check dart format version run: | dart format --version - name: Format Dart run: ./formatters/format-dart.sh - name: Check for changes run: | git ls-files -m if [[ `git ls-files -m` ]]; then echo "Detected Dart formatting errors!" echo "Creating diff files..." mkdir -p dart-format-diff git diff > dart-format-diff/full-diff.txt git ls-files -m > dart-format-diff/modified-files.txt for file in $(git ls-files -m | head -10); do echo "=== Diff for $file ===" >> dart-format-diff/file-diffs.txt git diff "$file" >> dart-format-diff/file-diffs.txt echo -e "\n\n" >> dart-format-diff/file-diffs.txt done exit 1 fi - name: Upload diff artifact if: failure() uses: actions/upload-artifact@v4 with: name: dart-format-diff path: dart-format-diff/