53 lines
1.3 KiB
YAML
53 lines
1.3 KiB
YAML
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
|