nodejs / nodejs/docker-node

Pull Alpine/aarch64 tarball from unofficial builds as we do for Alpine/x64

Abierto
#2,475 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

alpine
Lenguaje dominante
Dockerfile
Estrellas
8.6k
Forks
2k
Merge medio
10 h 19 min
PR fusionados (30 d)
16

Descripción

Although unoffical-builds does produce an arm64 binary, it is not used by the images here. I think mixed among the recent-ish discussions was whether we should just drop even that pre-built, and just use the Docker infrastructure for all the Alpine variants.

While there are reasons that i won't go into here why that might be desirable, IMHO that would push it further away from the "regular" tier1/2 platforms. Since we're building it anyway (and people are downloading it independently of the docker images at a rate of about 1000/hour) I'd prefer the container image to have the identical build that we produce in the unofficial projects.

I'll spin off another issue about whether to process the unofficial Alpine/aarch64 built in the same way as Alpine/x64 since that's separate from Alpine/s390x.

Originally posted by @sxa in https://github.com/nodejs/docker-node/issues/2462#issuecomment-4287416228

The Alpine/aarch64 builds are far less popular than the figure listed above but since https://github.com/nodejs/unofficial-builds/pull/189 got merged we do now now have cross-compiled builds of Alpine/arm64 in the unofficilal-builds alone with x64 so we could follow the same process for both.

Notes:

  • It's cross compiled instead of build natively (May not be an option, but we don't have any cross-compiled builds yet which have the rust support working for temporal enablement yet ... But that's potentially a bigger problem). It's also a cross-compiled build which doesn't undergo any testing elsewhere in the node system. https://github.com/nodejs/unofficial-builds/issues/200 is a potential issue with the cross-compilated build (SEA failure)
  • There is a proposal to bump Alpine up to tier 2 which would change things again
  • With the removal of Alpine/s390x from node 26's container images, and Alpine/ppc64le having been removed some time ago, that only leaves Alpine/arm64 as the "dynamically built at image creation time" platform so this would ultimately help reduce complexity in the process.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza con el proceso de compilación de la imagen de Docker y compara cómo Alpine/x64 obtiene los elementos de unofficial-builds. Lee unofficial-builds PR #189 y issue #200, incluidas las notas sobre compilación cruzada y el fallo de SEA. Se considera terminado cuando Alpine/arm64 se procese de forma coherente con Alpine/x64, sin pasar por alto las cuestiones de compilación y pruebas indicadas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
docker, node.js
Área
build-system, infrastructure
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.