devcontainers / devcontainers/cli
templates publish should support aarch64
- 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