Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Favour village extended image over scratch area

Đang mở
#1,289 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

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

Hướng nghiên cứu

Bắt đầu bằng cách đọc cấu hình Scratch của blueapi và cách sắp xếp Dockerfile, pyproject.toml và uv.lock của repository village được mô tả trong issue. So sánh hành vi hiện tại của các dependency có thể chỉnh sửa và devcontainer với các tiêu chí chấp nhận: các module có thể chỉnh sửa phải được kiểm soát bởi các Dockerfile của village, cùng nhau hỗ trợ hot-reload và hỗ trợ breakpoint trong village_bluesky, dodal và blueapi.

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

Mô tả

deployment dev-environment

With copier template 5.0 switching to uv and its better handling of git submodule dependencies, and the finalising of our debugging in the cluster behaviour, we may be able to remove the scratch config from blueapi.

Instead handle mutability by having known to be needed to be editable dependencies (e.g. dodal) as submodules of the village plan repositories.

e.g.

village_bluesky/
  src/
  dodal/  # submodule, version managed by renovate
  pyproject.toml
  uv.lock  # points dodal -> ./dodal, managed by renovate
  Dockerfile

Where the Dockerfile looks something like

FROM ... as developer
# Devcontainer build as normal

FROM bluesky:<latest version>  # managed by renovate, does NOT depend on dodal
# WORKDIR is /workspaces
COPY --chown=1000:1000 . village_bluesky
# If running as non-1000, i.e. hostNetwork or mounting /dls*
RUN chmod o+wrX village_bluesky 
RUN uv sync village_bluesky

We probably need to maintain the scratch area for ophyd-async/other dependencies that we don't want to always have an editable version of (hopefully ophyd-async can mostly be debugged offline?) but may in an emergency.

/workspaces gets copied into a PVC in an initContainer
/workspaces_git is a PVC created when a scratchConfig is configured

Acceptance Criteria

  • Editable modules are controlled by science villages in their Dockerfiles instead of blueapi scratch config
  • Editable modules can all be edited in a standard devcontainer attach
  • Changes to village_bluesky, dodal can both be hot-reloaded into a running blueapi container
  • Breakpoints in village_bluesky, dodal, blueapi can all be caught in debug mode
Ngôn ngữ chính
Python
Star
13
Fork
14
Merge trung bình
7 ngày 1 giờ
Pull request đã merge (30 ngày)
12

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của DiamondLightSource/blueapi

Tất cả issue của DiamondLightSource/blueapi

Issue tương tự

Thêm issue về Python

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.