Skip to content

ci: add Python lint+build workflow; docs: add CHANGELOG [Sentinel+COL… #1

ci: add Python lint+build workflow; docs: add CHANGELOG [Sentinel+COL…

ci: add Python lint+build workflow; docs: add CHANGELOG [Sentinel+COL… #1

Workflow file for this run

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"