05/23 Phase 1
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
name: LottoSight CI
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
ci:
|
||||
name: Syntax Check & Tests
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# ── 1. Checkout code ───────────────────────────────────────────────
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# ── 2. Set up Python ───────────────────────────────────────────────
|
||||
- name: Set up Python 3.11
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: "3.11"
|
||||
|
||||
# ── 3. Cache pip dependencies ──────────────────────────────────────
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
|
||||
# ── 4. Install dependencies ────────────────────────────────────────
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
pip install pytest pytest-cov
|
||||
|
||||
# ── 5. Syntax check — compile all .py files ────────────────────────
|
||||
- name: Syntax check (py_compile)
|
||||
run: |
|
||||
echo "Running syntax check on all .py files..."
|
||||
find . -name "*.py" \
|
||||
-not -path "./.git/*" \
|
||||
-not -path "./exports/*" \
|
||||
| sort \
|
||||
| xargs python -m py_compile
|
||||
echo "Syntax check passed."
|
||||
|
||||
# ── 6. Run pytest ──────────────────────────────────────────────────
|
||||
- name: Run tests (pytest)
|
||||
run: |
|
||||
pytest tests/ \
|
||||
--tb=short \
|
||||
--cov=db \
|
||||
--cov=core \
|
||||
--cov-report=term-missing \
|
||||
-v
|
||||
Reference in New Issue
Block a user