Skip to content

captain: uv, logging, remote-Docker fixes, gha enhancements#61

Open
rpardini wants to merge 8 commits intotinkerbell:mainfrom
rpardini:pr/captain-uv-logging-remote-Docker-fixes-gha-enhancements
Open

captain: uv, logging, remote-Docker fixes, gha enhancements#61
rpardini wants to merge 8 commits intotinkerbell:mainfrom
rpardini:pr/captain-uv-logging-remote-Docker-fixes-gha-enhancements

Conversation

@rpardini
Copy link
Copy Markdown
Member

@rpardini rpardini commented Apr 1, 2026

captain: uv, logging, remote-Docker fixes, gha enhancements

  • 🍀 docker/mkosi: let /work be a regular directory, and mount specific files and dirs instead
    • this avoids remote-fs errors in mkosi when running against remote Docker daemon (eg: colima, Docker Desktop)
    • no, one can't simply mount tmpfs to /work/mkosi.tools -- mkosi wants to be able to delete it
    • ideally, mkosi.output (a misnomer?) would also be shared across invocations using a Volume (not yet though)
  • 🐸 uv: pyproject.toml: add missing version field
    • so one can use uv run build.py without worrying about deps
  • 🌳 docker/mkosi: add /cache/packages Docker Volume for download caching
    • this way we don't overwhelm Debian apt mirrors during development
  • 🌱 python: use standard logging and Rich
    • drop all custom logging infra, standardize on logging
    • introduce Rich for logging & exception handling
    • replace custom progressbar with Rich's
  • 🌿 python: switch to uv everywhere
    • switch from system-breaking pip to fully-contained uv
    • let uv install Python, don't use Debian's -- we get a single Python version for free
    • also: use Docker buildx explicitly; use plain output
    • build/docs: switch from plain Python+pip to uv; mention 3.13 instead of 3.10
    • consolidate usage of pyproject.toml; drop old requirements-dev.txt and requirements.txt
    • docker: run in interactive mode (tty) if isatty(), pass TERM/COLUMNS env
    • docker: prime uv's caches during Dockerfile build
  • 🌵 gha: better all around GHA logging with colors and wide output
    • gha/docker: force Rich colored 160-wide console under GHA
      • pass down GITHUB_ACTIONS env so children can know
    • gha: reduce apt verbosity drastically with Dpkg::Use-Pty=0
  • 🍃 gha: bump to cache restore/save v5 and download/upload-artifact v6
    • so gha stops complaining about Node.js 20
  • 🌴 README.md: show uv install instructions and fix log.py and init.py

rpardini added 8 commits April 1, 2026 19:53
…les and dirs instead

- this avoids remote-fs errors in mkosi when running against remote Docker daemon (eg: colima, Docker Desktop)
- no, one can't simply mount tmpfs to `/work/mkosi.tools` -- mkosi wants to be able to delete it
- ideally, `mkosi.output` (a misnomer?) would also be shared across invocations using a Volume (not yet though)

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- so one can use `uv run build.py` without worrying about deps

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- this way we don't overwhelm Debian apt mirrors during development

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- drop all custom logging infra, standardize on logging
- introduce Rich for logging & exception handling
- replace custom progressbar with Rich's

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- switch from system-breaking `pip` to fully-contained `uv`
- let `uv` install Python, don't use Debian's -- we get a single Python version for free
- also: use Docker buildx explicitly; use plain output
- build/docs: switch from plain Python+pip to uv; mention 3.13 instead of 3.10
- consolidate usage of pyproject.toml; drop old requirements-dev.txt and requirements.txt
- docker: run in interactive mode (tty) if isatty(), pass TERM/COLUMNS env
- docker: prime `uv`'s caches during Dockerfile build

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- gha/docker: force Rich colored 160-wide console under GHA
  - pass down GITHUB_ACTIONS env so children can know
- gha: reduce apt verbosity drastically with `Dpkg::Use-Pty=0`

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- so gha stops complaining about Node.js 20

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
@rpardini rpardini force-pushed the pr/captain-uv-logging-remote-Docker-fixes-gha-enhancements branch from d9d4a1e to e93f658 Compare April 1, 2026 17:53
@rpardini rpardini marked this pull request as ready for review April 1, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant