10.01 — Matrice récapitulative des workflows#
Vue d’ensemble synthétique de tous les workflows de l’écosystème.
Récap.#
| Dépôt | Workflow | Trigger | OS | Stack | Effet | Détail |
|---|---|---|---|---|---|---|
ocarina | main_ci.yml | push/PR main, dispatch | ubuntu + windows × py 3.14 (option 3.15-dev) | venv cache, make install-on-ci | make check-coding-style + make test + Allure history + Pages deploy | 02-ocarina-workflows.md |
ocarina | dev_ci.yml | push dev/feature/fix, PR dev, dispatch | ubuntu × py 3.14 | venv cache | check-coding-style + test + récap couverture (non bloquant) | 02-ocarina-workflows.md |
ocarina | unstable_python_full_build.yml | cron (mensuel), dispatch | ubuntu + windows × py 3.15-dev | PIP_ONLY_BINARY=":all:" | full build sur Python pré-release | 02-ocarina-workflows.md |
ocarina-example | main_ci.yml | push/PR main, dispatch | ubuntu + windows × py 3.14 | venv cache | check-coding-style | 03-example-workflows.md |
ocarina-example | dev_ci.yml | push dev, dispatch | ubuntu × py 3.14 | venv cache | check-coding-style | 03-example-workflows.md |
ocarina-example | e2e.yml | dispatch (env OC) | ubuntu + service redis:8.x + Firefox + geckodriver 0.35.0 | venv cache | run complet, upload traces | 03-example-workflows.md |
ocarina-with-ai-example | ai_proof_ci.yml | push main, PR, dispatch | ubuntu × py 3.14 | venv cache | ruff format check + ruff check + mypy | 04-ai-workflows.md |
ocarina-with-ai-example | ai_proof_e2e.yml | dispatch | ubuntu × matrice firefox+chrome | venv cache, geckodriver 0.36.0 / chromedriver auto-matché | warm-up Heroku dyno, run, filtrage sed des stacktraces ChromeDriver, upload | 04-ai-workflows.md |
igoristan | ci-pr.yml | PR **, dispatch | ubuntu × node 24 + pnpm 11 | wireit | format check + lint + typecheck (parallélisés) | 05-igoristan-workflows.md |
igoristan | deploy.yml | push main, dispatch | ubuntu × node 24 + pnpm 11 | concurrency group pages | pnpm install --frozen-lockfile + pnpm build + upload Pages | 05-igoristan-workflows.md |
ocarina-holy-book | deploy.yml | push main, PR, dispatch | ubuntu × node 24 + pnpm 11 | TZ=Europe/Paris, concurrency group pages | pnpm install + pnpm build + upload Pages | 06-holy-book-workflow.md |
tests-workers | aucun | — | — | Vercel | vercel deploy | 07-tests-workers-vercel.md |
Action composite#
| Action | Localisation | Usage |
|---|---|---|
allure-history | ocarina/.github/actions/allure-history/action.yml | Composite : Bun + Allure 3.9.0 + restore/save history.jsonl sur branche dédiée |
Patterns#
Workflows PR (légers, auto)#
ocarina/main_ci.yml # python 3.14
ocarina/dev_ci.yml
ocarina-example/main_ci.yml
ocarina-example/dev_ci.yml
ocarina-with-ai-example/ai_proof_ci.yml
igoristan/ci-pr.ymlTous tournent rapidement.
Workflows e2e (gourmands, manuels)#
ocarina-example/e2e.yml # Redis + Firefox
ocarina-with-ai-example/ai_proof_e2e.yml # Firefox + Chrome (matrice)Manuels (workflow_dispatch). Démarrent service Redis ou warm-up Heroku. Téléchargent les drivers. Lancent les navigateurs web. Uploadent traces.
Workflows deploy (production)#
igoristan/deploy.yml # Pages
ocarina-holy-book/deploy.yml # PagesSur push main → GitHub Pages.
Workflows mensuels#
ocarina/unstable_python_full_build.yml # 1er du mois, 03:00 UTCCron mensuel sur Python 3.15-dev. Garde Ocarina prêt pour la prochaine release Python.
Release process manuel#
Aucun workflow ne fait twine upload (PyPI) automatiquement.ocarina/pyproject.toml#dependency-groups.dev contient twine>=6.2.0 mais le release process est encore manuel et fait par l’auteur.
| Publishing auto | Publishing manuel |
|---|---|
| Risque de release accidentel | Contrôle |
| Risque de release de breaking changes sans review | Review possible |
| Quota PyPI | Plus paisible |
| Surveiller ses tokens (risque de vol de token) | Tokens éphémères |