DR: Choose ownership and layout of tool definitions and pins
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- bash, docker
- Ambito
- build-system, devops
Direzione di ricerca
Read tools/lockfiles/*.lock.json, tools/providers.json, and the review discussion on #209 first; compare how each handles Python, native archives, release .deb packages, and APT policies. Decide which option best supports adding, updating, and removing tools while maintaining one pin and preserving container and Bazel delivery paths. Record the chosen ownership, alternatives, and migration steps in small follow-up issues.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Decision to make
Where should tool definitions, selected versions and artifact checksums be authored, and which files should be derived from them? This issue records an open design decision; no layout has been chosen.
Native tool pins currently live in tools/lockfiles/*.lock.json, which Bazel/rules_multitool and the container installer consume. Python pins, APT policies and special release/setup metadata live in tools/providers.json. Each tool should retain one authoritative version choice while we make ownership and automated updates consistent across these provider types.
The discussion started in the review of #209. It is a bounded follow-up to #155 and #190; the choice to consolidate our own provisioning in #190 remains in place.
Options
- One authored catalog: move native artifact definitions into
providers.jsonand derive the lockfile inputs needed by Bazel. This puts each tool's provider and pin together, but adds generation/adaptation. - Provider definitions plus lock data: keep installation/provider metadata separate from concrete versions and artifacts, using appropriate lock data for each provider. This separates responsibilities, but spreads a tool's information across files.
- Retain the current split: clarify ownership and automate updates in the existing locations. This minimizes migration and adapters, but keeps different metadata locations for native and other tools.
Compare these against ordinary operations: adding a tool, updating its version and removing it. Include Python, native archives, release .deb packages such as Dive and bazel-compile-commands, and APT policies. Distinguish exact artifact pins from distribution constraints; a version field alone does not lock transitive dependencies.
Constraints and outcome
- Maintain each pin once and preserve the existing container and supported Bazel delivery paths.
- Justify any additional generation, adapters or schema machinery by the maintenance they save.
- Record the chosen ownership/layout, alternatives and migration steps in small follow-ups. No universal format or Bazel packaging for every tool is required.
APT snapshotting/transitive locking, uv delivery (#189) and a GitHub Pages overview are separate work.
Work that can proceed
- #210 fixes incomplete native artifact refreshes using the current metadata contract.
- #211 expands Renovate discovery over the current native and Python pins. It neither moves metadata nor establishes the final catalog layout; extraction rules can be adapted after this decision.
Neither PR depends on choosing an option here. Release/setup providers such as Dive and bazel-compile-commands remain outside those PRs' update automation.
- Lingua principale
- Shell
- Stelle
- 5
- Fork
- 10
- Merge medio
- 23h 5m
- PR unite (30g)
- 29
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di eclipse-score/devcontainer
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
eclipse-score/devcontainer#190 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
eclipse-score/devcontainer#189 ·
I maintainer di solito rispondono entro 1 giorno
-
bug: github releases without devcontainer releasesForse già presa @vibhoraggarwal l’ha presa 39 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
eclipse-score/devcontainer#162 ·
I maintainer di solito rispondono entro 1 giorno
-
Versioning messAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
eclipse-score/devcontainer#155 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
eclipse-score/devcontainer#115 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di eclipse-score/devcontainer
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
IngvarConsulting/unica#2807 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 73/100
-
DeclareMiningJob.wtxid_list should be specified to be in block orderForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
stratum-mining/sv2-spec#253 ·
-
area:linux source:reader type:content-error
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
stephrobert/blog-roadmap#169 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno