Skip to content

Remoção de Operador Null-Safety Desnecessário guardians_page #852

Remoção de Operador Null-Safety Desnecessário guardians_page

Remoção de Operador Null-Safety Desnecessário guardians_page #852

Workflow file for this run

on:
push:
branches: [ 'main' ]
pull_request:
name: Code checks workflow
concurrency:
group: qa-${{ github.ref }}
cancel-in-progress: true
jobs:
check-changes:
name: Check changed files
runs-on: ubuntu-latest
outputs:
changed_files: ${{ steps.added-and-modified-files.outputs.all }}
changed_dart_files: ${{ steps.added-and-modified-files.outputs.dart }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- id: changed-files
name: Get changed files
uses: tj-actions/changed-files@v45
with:
files: |
**/*.dart
**/pubspec.yaml
files_ignore: |
**/*.g.dart
**/*.freezed.dart
- id: added-and-modified-files
name: Get all added and modified files
run: |
changed_files=$(echo "${{ steps.changed-files.outputs.added_files }} ${{ steps.changed-files.outputs.modified_files }}" | xargs)
changed_dart_files=$(echo "$changed_files" | tr ' ' '\n' | grep -E '\.dart$' | xargs)
echo "all=$changed_files" >> $GITHUB_OUTPUT
echo "dart=$changed_dart_files" >> $GITHUB_OUTPUT
lint:
name: Run lint on affected files
runs-on: ubuntu-latest
needs: check-changes
if: ${{ needs.check-changes.outputs.changed_files }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Retrieve Flutter version from FVM config
uses: kuhnroyal/flutter-fvm-config-action@v1
- name: Setup Flutter SDK
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: ${{ env.FLUTTER_CHANNEL }}
- name: Install dependencies
run: flutter pub get
- name: Setup Firebase Options
run: |
tee lib/firebase_options.dart <<EOF
class DefaultFirebaseOptions {
static const currentPlatform = null;
}
EOF
- name: Analyze code
if: ${{ needs.check-changes.outputs.changed_files }}
run: |
dart analyze --fatal-warnings \
${{ needs.check-changes.outputs.changed_files }}
- name: Check code formatting
if: ${{ always() && needs.check-changes.outputs.changed_dart_files }}
run: |
flutter format --output=none --set-exit-if-changed \
${{ needs.check-changes.outputs.changed_dart_files }}
unit-tests:
name: Run unit tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Retrieve Flutter version from FVM config
uses: kuhnroyal/flutter-fvm-config-action@v1
- name: Setup Flutter SDK
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: ${{ env.FLUTTER_CHANNEL }}
- name: Install dependencies
run: flutter pub get
- name: Setup Firebase Options
run: |
tee lib/firebase_options.dart <<EOF
class DefaultFirebaseOptions {
static const currentPlatform = null;
}
EOF
- uses: stelynx/[email protected]
with:
package: penhas
ignore: "*.freezed.dart,*.g.dart"
- name: Run unit tests
run: flutter test --timeout=1h --dart-define=isCI=true --coverage
- name: Codecov
uses: codecov/codecov-action@v4