10.01 — Workflow summary matrix#
Synthetic overview of every ecosystem workflow.
Recap#
| Repo | Workflow | Trigger | OS | Stack | Effect | Detail |
|---|---|---|---|---|---|---|
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 + coverage summary (non-gating) | 02-ocarina-workflows.md |
ocarina | unstable_python_full_build.yml | cron (monthly), dispatch | ubuntu + windows × py 3.15-dev | PIP_ONLY_BINARY=":all:" | full build on pre-release Python | 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 | full run, 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 × firefox+chrome matrix | venv cache, geckodriver 0.36.0 / auto-matched chromedriver | Heroku dyno warm-up, run, sed-filter ChromeDriver stacktraces, upload | 04-ai-workflows.md |
igoristan | ci-pr.yml | PR **, dispatch | ubuntu × node 24 + pnpm 11 | wireit | format check + lint + typecheck (parallelized) | 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 | none | — | — | Vercel | vercel deploy | 07-tests-workers-vercel.md |
Composite action#
| Action | Location | Use |
|---|---|---|
allure-history | ocarina/.github/actions/allure-history/action.yml | Composite: Bun + Allure 3.9.0 + restore/save history.jsonl on a dedicated branch |
Patterns#
PR workflows (light, 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.ymlAll run fast.
e2e workflows (heavy, manual)#
ocarina-example/e2e.yml # Redis + Firefox
ocarina-with-ai-example/ai_proof_e2e.yml # Firefox + Chrome (matrix)Manual (workflow_dispatch). Spin up a Redis service or warm up Heroku. Download drivers. Launch browsers. Upload traces.
deploy workflows (production)#
igoristan/deploy.yml # Pages
ocarina-holy-book/deploy.yml # PagesOn push to main, deploys to GitHub Pages.
Monthly workflows#
ocarina/unstable_python_full_build.yml # 1st of month, 03:00 UTCMonthly cron on Python 3.15-dev. Keeps Ocarina ready for the next Python release.
Manual release process#
No workflow runs twine upload (PyPI) automatically. ocarina/pyproject.toml#dependency-groups.dev includes twine>=6.2.0, but the release process is manual.
| Auto publishing | Manual publishing |
|---|---|
| Risk of accidental release | Control |
| Risk of releasing breaking changes without review | Review possible |
| PyPI quota | More peaceful |
| Token monitoring (theft risk) | Ephemeral tokens |