devcontainers / devcontainers/cli

templates publish should support aarch64

Ouverte
#968 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
3k
Forks
457
Merge moyen
13 h 17 min
PR mergées (30 j)
6

Description

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"
}
}
]
}
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le chemin devcontainers CLI invoqué par la devcontainers action lors de la publication de tous les templates. Examinez les instructions de build de devcontainers/images fournies par le lien ainsi que la documentation sur les listes de manifests, puis déterminez comment la publication doit produire des images aarch64 et amd64 ; le travail est terminé lorsque les templates publiés exposent les deux plateformes dans un manifest multiarchitecture.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
docker, typescript
Domaine
build-system, cli, devops
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.