Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Favour village extended image over scratch area

Aperta
#1,289 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
docker, python
Ambito
devops

Direzione di ricerca

Inizia leggendo la configurazione Scratch di blueapi e la disposizione di Dockerfile, pyproject.toml e uv.lock del repository village descritta nell’issue. Confronta il comportamento attuale delle dipendenze modificabili e di devcontainer con i criteri di accettazione: i moduli modificabili devono essere controllati dai Dockerfile di village, supportare insieme l’hot-reload e consentire breakpoint in village_bluesky, dodal e blueapi.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Python
Stelle
13
Fork
14
Merge medio
7g 13h
PR unite (30g)
6

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di DiamondLightSource/blueapi

Tutte le issue di DiamondLightSource/blueapi

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.