30 lines
713 B
YAML
30 lines
713 B
YAML
stages:
|
|
- check
|
|
- test
|
|
|
|
syntax:
|
|
stage: check
|
|
image: python:3.12-slim
|
|
before_script:
|
|
- pip install --no-cache-dir -r requirements.txt
|
|
script:
|
|
- python -m py_compile app.py models.py config.py init_db.py
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|
|
|
|
pytest:
|
|
stage: test
|
|
image: python:3.12-slim
|
|
before_script:
|
|
- pip install --no-cache-dir -r requirements.txt pytest
|
|
script:
|
|
- |
|
|
if find . -type f \( -name "test_*.py" -o -name "*_test.py" \) | grep -q .; then
|
|
pytest
|
|
else
|
|
echo "No tests found; skipping."
|
|
fi
|
|
rules:
|
|
- if: '$CI_PIPELINE_SOURCE == "push"'
|
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|