Pull Alpine/aarch64 tarball from unofficial builds as we do for Alpine/x64
まだ誰も着手していません。
- 主要言語
- 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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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