DiamondLightSource / DiamondLightSource/python-copier-template

Move to using ubuntu as base with feature already installed for devcontainer

Đang mở
#277 3 bình luận 3 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Jinja
Star
25
Fork
10
Merge trung bình
4 giờ 4 phút
Pull request đã merge (30 ngày)
6

Mô tả

At the moment we:
- Use `python:3.xx` as the base container
- Make a venv
- Install into it and use that
- Apply the `bash-config` feature on top

This means that vscode is taking up to 30s adding in the feature every time. We were thinking of putting the feature in the base container for `epics-containers` but publishing this for multiple python bases would be prohibitive for the copier template.

However with `uv` we now have a different option:
- Publish an ubuntu LTS derived devcontainer with uv, bash and zsh, and the `bash-config` feature installed
- Use it for both `python-copier-template` and `epics-containers`
- Get `uv` to manage the version of python

This should allow us to have a much better out of the box experience by pulling a single rarely changing base image that will be used for many purposes. The only downside is that every `devcontainer.json` will need to provide the mount of `${localEnv:HOME}/.config/bash-config` to do persistent history, but as we use copier that is easy to arrange for.

As discussed with @gilesknap @callumforrester

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Review devcontainer.json and the existing base-container setup, then trace how python-copier-template and epics-containers consume it. Confirm the Ubuntu LTS image includes uv, bash, zsh, and the bash-config feature, and verify that the generated configuration provides the persistent bash-config mount.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
bash, docker, python, ubuntu, zsh
Lĩnh vực
developer-experience, devops, tooling
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.