Skip to content

Av/new solidauth package #44

Av/new solidauth package

Av/new solidauth package #44

Workflow file for this run

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.3'
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 --disable MD036 -- *.md lib assets installers
# -p .markdownlintignore -c .markdownlint.yaml
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
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: ${{env.FLUTTER_VERSION}}
- run: flutter pub get
- 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