- Run ruff in a dedicated lint job (faster feedback)
- Keep e2e separate and install dependencies only there
- Force Playwright Chromium install to avoid cache-related missing binaries
- Trigger CI on PRs and pushes to main
https://chatgpt.com/share/694ae842-1588-800f-9418-31e7d02ac45e
- Introduce reusable-test workflow for Ruff + E2E tests
- Refactor CI to call reusable workflow (no duplicated steps)
- Add stable-tag workflow to promote version tags to stable after successful tests
https://chatgpt.com/share/694a7f81-d96c-800f-88cb-7b25b4cdfe1a