Skip to content

Add support for multiple Docker platforms#736

Merged
Jason3S merged 1 commit intostreetsidesoftware:mainfrom
stevep-arm:patch-2
Dec 20, 2025
Merged

Add support for multiple Docker platforms#736
Jason3S merged 1 commit intostreetsidesoftware:mainfrom
stevep-arm:patch-2

Conversation

@stevep-arm
Copy link
Copy Markdown
Contributor

@stevep-arm stevep-arm commented Nov 24, 2025

This change should make the image multi-plaform.

There is a chance it will also need qemu setting up.

    - name: Set up QEMU
      uses: docker/setup-qemu-action@v3

BEGIN_COMMIT_OVERRIDE
feat: Add support for multiple Docker platforms
END_COMMIT_OVERRIDE

Signed-off-by: Stephen Paulger <stephen.paulger@arm.com>
@Jason3S
Copy link
Copy Markdown
Contributor

Jason3S commented Nov 27, 2025

@stevep-arm,

Thank you. I need to make sure this is not a breaking change. If it is, it might need to wait until the next version.

@stevep-arm
Copy link
Copy Markdown
Contributor Author

The way that it works under the hood is that it builds two images and there's a manifest that takes the place of the current single image. The client uses the manifest to decide which image it prefers and download it. I've done a similar change before (kovetskiy/mark#420). They did already have the QEMU part defined so my only query is whether that is necessary.

@Jason3S Jason3S merged commit 933f78c into streetsidesoftware:main Dec 20, 2025
10 checks passed
@stevep-arm stevep-arm deleted the patch-2 branch December 31, 2025 10:02
@stevep-arm
Copy link
Copy Markdown
Contributor Author

❯ docker manifest inspect ghcr.io/streetsidesoftware/cspell:9.4.0
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.oci.image.index.v1+json",
   "manifests": [
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1999,
         "digest": "sha256:e7832be1ec7ad82ea381d3791d9cbf12a8b02dd903071d2c3b6616f840ab7bb5",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 1999,
         "digest": "sha256:e0ef46d6e7817965c982d573022aa2e73d730eba627f0f1189a9d5f3504b019b",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 567,
         "digest": "sha256:9d5ba57b694ac00ead11a03c194af19b6ed793bb85c2e090ac129eb30cea64bf",
         "platform": {
            "architecture": "unknown",
            "os": "unknown"
         }
      },
      {
         "mediaType": "application/vnd.oci.image.manifest.v1+json",
         "size": 567,
         "digest": "sha256:7611eaa20b6304892147efb4ec22a4a80e395fd548fd0ef0ddca110609a7d3bd",
         "platform": {
            "architecture": "unknown",
            "os": "unknown"
         }
      }
   ]
}

Thanks! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants