From 81f523af00188e3247d78ad0825656b3840b8c36 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Mon, 16 Feb 2026 13:33:25 -0500 Subject: [PATCH] upload-release: disable containerd image store to preserve gzip layer compression (cherry picked from commit 2ccb8a9a562ea666ba4b3718f8820324f4763368) --- .github/workflows/upload-release.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/upload-release.yml b/.github/workflows/upload-release.yml index 82ce0c40b..01a9ecac3 100644 --- a/.github/workflows/upload-release.yml +++ b/.github/workflows/upload-release.yml @@ -39,6 +39,17 @@ jobs: role-to-assume: "arn:aws:iam::080433136561:role/nix-release" role-session-name: nix-release-oidc-${{ github.run_id }} aws-region: eu-west-1 + - name: Disable containerd image store + run: | + # Docker 28+ defaults to the containerd image store, which + # pushes layers uncompressed instead of gzip. OCI clients + # that only support gzip (e.g. go-containerregistry) fail + # with "gzip: invalid header". Disabling the containerd + # snapshotter restores the classic storage driver, which + # preserves gzip-compressed layers through the + # `docker load` / `docker push` pipeline. + echo '{"features":{"containerd-snapshotter":false}}' | sudo tee /etc/docker/daemon.json > /dev/null + sudo systemctl restart docker - name: Login to Docker Hub uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0 with: