Support pre-built Docker images in dependency spec to avoid redundant builds
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 58/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- docker, github-actions, shell
- Área
- build-system, ci-cd, devops
Línea de trabajo
Comienza en el workflow reutilizable build.yml, especialmente en la etapa build-dep y en el manejo de su JSON de dependencias. Traza cómo se clonan, compilan y pasan las dependencias de código fuente a la imagen quickstart final, y luego verifica que una dependencia de imagen utilice el mismo mecanismo COPY --from=, mientras que las dependencias basadas en código fuente permanezcan sin cambios. Valida ambas formas de dependencia mediante el workflow.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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:
- Skip the clone + build step for that dependency
- Pull the image from the specified registry
- 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.ymlalready 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
- Lenguaje dominante
- Shell
- Estrellas
- 224
- Forks
- 237
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 7
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de stellar/quickstart
-
DockerHub README workflow fails with 403 ForbiddenPosiblemente ocupada @leighmcculloch la tomó hoy. Abiertobug
stellar/quickstart#988 · 1 comentario · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
stellar/quickstart#932 · 16 comentarios · 2 reacciones ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
stellar/quickstart#911 · 2 comentarios ·
-
feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
stellar/quickstart#907 · 1 comentario ·
-
feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
stellar/quickstart#906 · 3 comentarios ·
Todos los issues de stellar/quickstart
Issues similares
-
bot-found bug priority: P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
madenvel/KalinkaPlayer#179 ·
-
[platform-assessment 2026-09]Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
jbaruch/coding-policy#621 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
mattpocock/skills#1134 ·
-
area:build bug P3
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
uttrflow/uttrflow-swift#2506 ·
Los mantenedores suelen responder en 1 día