07.11 — CI#
Trois workflows :
main_ci.yml(rapide, lint + typecheck),dev_ci.yml(idem pour branches dev/feature/fix),e2e.yml(manuel, service Redis + Firefox).
Vue d’ensemble#
| Workflow | Trigger | Plateforme | Effet |
|---|---|---|---|
main_ci.yml | push/PR main | ubuntu + windows × py 3.14 | make check-coding-style (mypy + ruff). Pas de browser. |
dev_ci.yml | push dev / feature/_ / fix/_ | ubuntu × py 3.14 | id., mais Ubuntu seul |
e2e.yml | workflow_dispatch (manuel) | ubuntu + service Redis + Firefox + geckodriver | Run complet de la suite e2e. Upload .screenshots/, .ocarina_logs/, .reports/. |
main_ci.yml#
name: Main branch CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.14"]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with: { python-version: "3.14" }
- uses: actions/cache@v5
with:
path: .venv
key: venv-${{ runner.os }}-py3.14-${{ hashFiles('pyproject.toml') }}
- name: Install
run: make install-on-ci
- name: Check coding style
run: |
. .venv/bin/activate
make check-coding-style- Matrice OS : ubuntu + windows. Vérifie la portabilité Python du code projet.
- Pas de browser : on lance juste
make check-coding-style(=mypy + ruff). Rapide, pas besoin de Selenium / Redis / OTP. - Cache
.venv: reuse entre runs.
dev_ci.yml#
on:
push:
branches: [dev, "feature/**", "fix/**"]
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
# … identique à main_ci.yml, juste Ubuntu seul …Identique au main_ci.yml mais Ubuntu seul (Windows ne run que sur main).