mkctr produces a different files layer on every build
Nadie ha tomado este issue todavía.
- #37 de @RaphaelFakhri — cerrado sin fusionar
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- go
- Área
- build-system
Línea de trabajo
Comienza en la función layerFromFiles e inspecciona cómo recorre el mapa files para las salidas --files y --gopaths. Reproduce el problema llamando varias veces a layerFromFiles con cinco archivos y comparando layer.DiffID(); se considera terminado cuando entradas idénticas producen resúmenes de capa idénticos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Two mkctr runs with identical inputs write layers with different digests. The tar entries for the --files and --gopaths outputs are written in random order, so the images are not reproducible.
layerFromFiles ranges over the files map. Go randomizes map iteration order, so the file entries and the parent directory headers land in the tar in a different order each time. The header code sets ModTime to the zero time with the comment "to make the images reproducible", so the ordering is the remaining source of variation.
To reproduce, call layerFromFiles several times with a map of five files and compare layer.DiffID(). The digests differ between calls.
The expected behavior is that identical inputs produce an identical layer. Visiting the sources in sorted order fixes it.
- Lenguaje dominante
- Go
- Estrellas
- 101
- Forks
- 10
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 tailscale/mkctr
-
mkctr panics when a path passed to --files does not existQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Todos los issues de tailscale/mkctr
Issues similares
-
area: interop area: sip-core v3
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
fonoster/routr#705 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
kind/bug require/reproduce require/severity
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
oxc-project/tsgolint#1362 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hashicorp/terraform-provider-google#30703 ·
Los mantenedores suelen responder en 1 día