nodejs / nodejs/docker-node

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

オープン
#2,475 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

alpine
主要言語
Dockerfile
スター
8.6k
フォーク
2k
平均マージ
10時間 19分
マージ済み PR(30日)
16

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Docker イメージのビルドプロセスから始め、Alpine/x64 が unofficial-builds からどのように取得するかを比較する。unofficial-builds PR #189 と issue #200 を読み、クロスコンパイルと SEA の失敗に関する注記も確認する。完了の条件は、記載されたビルドおよびテスト上の懸念を見落とすことなく、Alpine/arm64 が Alpine/x64 と一貫して処理されることである。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
docker, node.js
領域
build-system, infrastructure
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。