name: Code Quality (Lint) on: pull_request: branches: [main, master, dev] push: branches: [main, master, dev] jobs: lint: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.10" cache: 'pip' - name: Install linting tools run: | python -m pip install --upgrade pip pip install ruff black isort - name: Run Ruff (linter) run: | ruff check . --output-format=github continue-on-error: true - name: Run Black (formatter check) run: | black --check --diff . continue-on-error: true - name: Run isort (import sorting check) run: | isort --check-only --diff . continue-on-error: true - name: Lint summary if: always() run: | echo "## Code Quality Results" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "✅ Ruff linting completed" >> $GITHUB_STEP_SUMMARY echo "✅ Black formatting check completed" >> $GITHUB_STEP_SUMMARY echo "✅ isort import sorting check completed" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "**Note**: Linting errors are not blocking CI (continue-on-error: true)" >> $GITHUB_STEP_SUMMARY