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

Support pre-built Docker images in dependency spec to avoid redundant builds

Aperta
#923 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
58/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
docker, github-actions, shell

Direzione di ricerca

Inizia nel workflow riutilizzabile build.yml, in particolare nello stage build-dep e nella gestione del relativo JSON delle dipendenze. Traccia il modo in cui le dipendenze dal codice sorgente vengono clonate, compilate e passate all’immagine quickstart finale, quindi verifica che una dipendenza da immagine utilizzi lo stesso meccanismo COPY --from=, mentre le dipendenze basate sul codice sorgente rimangano invariate. Convalida entrambe le forme di dipendenza tramite il workflow.

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

Descrizione

Problem

The reusable build.yml workflow currently only accepts repo + ref for each dependency, which means every caller must build their dependency from source. For projects that already build a release binary in their own CI pipeline, this results in a redundant ~9 minute build.

For example, in stellar-experimental/henyey, our CI workflow already produces a release binary via cargo build --release. The quickstart workflow then clones the same commit and builds it again from scratch. This makes the quickstart workflow take ~19 minutes when it could take ~10 minutes.

Proposal

Add an optional image field to the dependency JSON spec. When image is provided, the build-dep stage would pull the pre-built Docker image instead of cloning and building from source.

Current usage (build from source):
{
  "name": "core",
  "repo": "stellar-experimental/henyey",
  "ref": "abc123"
}
Proposed addition (pre-built image):
{
  "name": "core",
  "image": "ghcr.io/stellar-experimental/henyey-core:abc123"
}

When image is set, the workflow would:

  1. Skip the clone + build step for that dependency
  2. Pull the image from the specified registry
  3. Use it in the final quickstart image build via the same COPY --from= mechanism

When image is not set, behavior is unchanged (build from source as today).

Expected Impact

  • Callers that already build their binary in CI can cut ~9 minutes off their quickstart workflow
  • No change for callers that don't use this field
  • The final quickstart image is identical either way — only the source of the dependency image changes

Alternatives Considered

  • Callers duplicate the test orchestration locally: Works but duplicates the test matrix logic that build.yml already handles well
  • Cache-only approach: The existing cache helps on repeat runs of the same SHA, but doesn't help when the same SHA is already built by the caller's own CI
Lingua principale
Shell
Stelle
224
Fork
237
Merge medio
1g 16m
PR unite (30g)
8

Preparare l'ambiente

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 stellar/quickstart

Tutte le issue di stellar/quickstart

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.