Hi maintainers, I’d like to propose a focused improvement to our container and CI workflow.
Why
-
Keep local and CI environments more consistent.
-
Reduce repeated Docker work in CI.
-
Keep production images lean while preserving a full dev/test image.
-
Use one source of truth for tooling and checks.
-
Refine the Dockerfile with clear multistage targets (prod and dev).
-
Update GitHub Actions to use these targets for build validation and checks.
-
Reuse image layers/artifacts in CI via GitHub Packages/cache where appropriate.
-
Make pyproject.toml the single source of truth for lint/test tool configuration and execution paths (via uv), avoiding duplicated CI-only tool setup.
-
Update documentation where commands/flow change.
Expected outcome
- More predictable CI results (same runtime for checks).
- Faster warm-cache CI runs.
- Smaller production image.
- Clear separation of runtime vs development dependencies.
- Less drift between local setup and CI because tooling is driven from pyproject.toml.
Scope
- Dockerfile multistage refinement.
- Workflow updates to consume prod/dev.
- CI cache/reuse improvements for container builds.
- Minimal docs updates for the new flow.
If this direction is aligned, I can open a focused PR with clean commit structure.
Hi maintainers, I’d like to propose a focused improvement to our container and CI workflow.
Why
Keep local and CI environments more consistent.
Reduce repeated Docker work in CI.
Keep production images lean while preserving a full dev/test image.
Use one source of truth for tooling and checks.
Refine the Dockerfile with clear multistage targets (prod and dev).
Update GitHub Actions to use these targets for build validation and checks.
Reuse image layers/artifacts in CI via GitHub Packages/cache where appropriate.
Make pyproject.toml the single source of truth for lint/test tool configuration and execution paths (via uv), avoiding duplicated CI-only tool setup.
Update documentation where commands/flow change.
Expected outcome
Scope
If this direction is aligned, I can open a focused PR with clean commit structure.