feat: add easy localization package to project #47
This file contains 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: Linting & Tests Validation | |
on: | |
pull_request: | |
branches: | |
- develop | |
jobs: | |
lint_and_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.24.5' | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Run Dart Format Check (Efficient) | |
run: | | |
# Exclude generated files (e.g., .g.dart, .freezed.dart) from the dart format check | |
dart format . --set-exit-if-changed --output none --exclude=**/*.g.dart --exclude=**/*.freezed.dart || ( | |
echo "Code formatting issues detected. Run 'dart format .' and commit the changes."; | |
exit 1; | |
) | |
- name: Run Flutter Analyze | |
run: flutter analyze | |
- name: Generate Localization Files (Easy Localization) | |
run: | | |
# Generate locale keys | |
dart run easy_localization:generate -f keys -o locale_keys.g.dart --source-dir=assets/translations --output-dir=lib/src/core/utils/gen/localization || ( | |
echo "Error: Failed to generate locale keys."; | |
exit 1; | |
) | |
- name: Check Localization Files Changes | |
run: | | |
# Check if there are changes after generating localization files | |
git diff --exit-code lib/src/core/utils/gen/localization || ( | |
echo "Error: Localization files are outdated. Run the generation command and commit the changes."; | |
exit 1; | |
) | |
- name: Generate Assets Files | |
run: | | |
# Command to rebuild asset files | |
dart run build_runner build --delete-conflicting-outputs --build-filter="lib/src/core/utils/gen/assets/*.dart" || ( | |
echo "Error: Failed to generate asset files."; | |
exit 1; | |
) | |
- name: Check Asset Files Changes | |
run: | | |
# Check if there are changes after generating asset files | |
git diff --exit-code lib/src/core/utils/gen/assets || ( | |
echo "Error: Asset files are outdated. Run the generation command and commit the changes."; | |
exit 1; | |
) | |
- name: Run tests | |
run: flutter test | |
merge_check: | |
runs-on: ubuntu-latest | |
needs: lint_and_test | |
if: ${{ success() }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Merge Pull Request | |
run: echo "Linting and tests passed successfully.Merge request is ready for merge" |