From cc2449e70a4669732e5538e377b7348ff1ea08eb Mon Sep 17 00:00:00 2001 From: David Boike Date: Fri, 13 Feb 2026 14:22:28 -0600 Subject: [PATCH 1/3] Use more modern tooling for multi-arch image creation --- .github/workflows/build-db-container.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-db-container.yml b/.github/workflows/build-db-container.yml index 28f7b40912..4123703ec1 100644 --- a/.github/workflows/build-db-container.yml +++ b/.github/workflows/build-db-container.yml @@ -69,11 +69,11 @@ jobs: TAG_NAME: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || env.MinVerVersion }} shell: pwsh run: | - $manifestCreate = "docker manifest create ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}" + $manifestCreate = "docker buildx imagetools create -t ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}" $containers = cat src/ServiceControl.RavenDB/containers.json | ConvertFrom-Json $containers | ForEach-Object -Process { - $manifestCreate += " --amend ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}-$($_.tag)" + $manifestCreate += " ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}-$($_.tag)" } Invoke-Expression $manifestCreate docker buildx imagetools inspect ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }} - docker manifest push ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }} \ No newline at end of file + docker manifest push ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }} From 99a78a21230ee55660c5ae03d932ab44dc2a447b Mon Sep 17 00:00:00 2001 From: David Boike Date: Fri, 13 Feb 2026 14:32:26 -0600 Subject: [PATCH 2/3] Logging and last "push" command no longer necessary --- .github/workflows/build-db-container.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-db-container.yml b/.github/workflows/build-db-container.yml index 4123703ec1..a43af337f6 100644 --- a/.github/workflows/build-db-container.yml +++ b/.github/workflows/build-db-container.yml @@ -69,11 +69,15 @@ jobs: TAG_NAME: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || env.MinVerVersion }} shell: pwsh run: | + Write-Output "Creating multi-arch manifest creation command for containers specified in src/ServiceControl.RavenDB/containers.json" $manifestCreate = "docker buildx imagetools create -t ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}" $containers = cat src/ServiceControl.RavenDB/containers.json | ConvertFrom-Json $containers | ForEach-Object -Process { $manifestCreate += " ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}-$($_.tag)" } + Write-Output "Invoking manifest creation command `$manifestCreate`" Invoke-Expression $manifestCreate + Write-Output "Multi-arch image should now be on GitHub Container Registry at https://github.com/Particular/ServiceControl/pkgs/container/servicecontrol-ravendb/" + Write-Output "Inspecting resulting tag `ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}`" docker buildx imagetools inspect ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }} - docker manifest push ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }} + From b324e1264b2c020870300ea7f18bc5ac96987a11 Mon Sep 17 00:00:00 2001 From: David Boike Date: Fri, 13 Feb 2026 14:36:53 -0600 Subject: [PATCH 3/3] PowerShell and backticks (eyeroll) --- .github/workflows/build-db-container.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-db-container.yml b/.github/workflows/build-db-container.yml index a43af337f6..d7c560ebf2 100644 --- a/.github/workflows/build-db-container.yml +++ b/.github/workflows/build-db-container.yml @@ -75,9 +75,9 @@ jobs: $containers | ForEach-Object -Process { $manifestCreate += " ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}-$($_.tag)" } - Write-Output "Invoking manifest creation command `$manifestCreate`" + Write-Output "Invoking manifest creation command: > $manifestCreate" Invoke-Expression $manifestCreate Write-Output "Multi-arch image should now be on GitHub Container Registry at https://github.com/Particular/ServiceControl/pkgs/container/servicecontrol-ravendb/" - Write-Output "Inspecting resulting tag `ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}`" + Write-Output "Inspecting resulting tag ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}" docker buildx imagetools inspect ghcr.io/particular/servicecontrol-ravendb:${{ env.TAG_NAME }}