ci: add Python lint+build workflow; docs: add CHANGELOG [Sentinel+COL… #1
This file contains hidden or 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: CI — Lint, Audit & Build | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| lint: | |
| name: Flake8 Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: | | |
| pip install --upgrade pip | |
| pip install flake8 | |
| if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
| - name: Run flake8 | |
| run: flake8 . --max-line-length=120 --exclude=.git,__pycache__,*.egg-info | |
| continue-on-error: true | |
| audit: | |
| name: pip-audit (Dependency Vulnerability Scan) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install pip-audit | |
| run: pip install pip-audit | |
| - name: Audit dependencies | |
| run: | | |
| if [ -f requirements.txt ]; then | |
| pip-audit -r requirements.txt | |
| else | |
| echo "No requirements.txt found — skipping audit." | |
| fi | |
| continue-on-error: true | |
| build: | |
| name: App Boot Check | |
| runs-on: ubuntu-latest | |
| needs: [lint] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: | | |
| pip install --upgrade pip | |
| if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
| - name: Syntax check app.py | |
| run: python -m py_compile app.py && echo "app.py syntax OK" |