devcontainers / devcontainers/cli

templates publish should support aarch64

オープン
#968 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
3k
フォーク
457
平均マージ
13時間 17分
マージ済み PR(30日)
6

説明

I use the devcontainers action which calls the devcontainers cli to publish all templates at once. I want to support multiple platforms (aarch64 and amd64).

I might follow https://github.com/devcontainers/images/tree/main/build#build-and-image-generation-for-devcontainers but it looks like a PITA

Some basic research

Create a [Manifest List](https://learn.microsoft.com/en-us/azure/container-registry/push-multi-architecture-images#manifest-list)?

dotnet:dev-8.0-noble

```sh
elijahlopez@Elijahs-MacBook-Air ~ % docker manifest inspect mcr.microsoft.com/devcontainers/dotnet:dev-8.0-noble
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.index.v1+json",
"manifests": [
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 3539,
"digest": "sha256:299d0161335b3bc467ee75adf5320ba0a445ca1d7889da4e7501b131874e1938",
"platform": {
"architecture": "amd64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 3539,
"digest": "sha256:62420e64f8017becb09e900c600289aa2891e5eb74e20b59cdc0b03be7fd0f6f",
"platform": {
"architecture": "arm64",
"os": "linux"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 566,
"digest": "sha256:cfd659bb481152e24aa8b94536ccb958b4f11ef6e7dd835da07650ae0e1f465a",
"platform": {
"architecture": "unknown",
"os": "unknown"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 566,
"digest": "sha256:731eb3afb5f172ba96e84f3943baece9836b3baee5a46d64b1b49622a36c9206",
"platform": {
"architecture": "unknown",
"os": "unknown"
}
}
]
}
```

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

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

調査の方向性

すべてのテンプレートを公開するときに devcontainers action が呼び出す devcontainers CLI パスから始めてください。リンクされている devcontainers/images のビルドガイダンスと manifest-list のドキュメントを確認し、公開によって aarch64 と amd64 の両方のイメージが生成されるようにする方法を判断してください。公開されたテンプレートがマルチアーキテクチャマニフェストで両方のプラットフォームを公開できれば完了です。

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

評価

技術スタック
docker, typescript
領域
build-system, cli, devops
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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