From 123350e3dff9f364c256451b4e176612c4e618bb Mon Sep 17 00:00:00 2001 From: Konstantin Tieber <46342664+konstantintieber@users.noreply.github.com> Date: Tue, 9 Jun 2026 13:31:42 +0200 Subject: [PATCH] ci: Add flag to force gzip compression (#31974) --- .github/workflows/docker-build-push.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index ab3f6f32412..39620b3f22f 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -41,6 +41,11 @@ on: description: 'URL to call after the build is successful' required: false type: string + force_gzip_compression: + description: 'Force gzip compression on image layers (for compatibility with older containerd versions)' + required: false + type: boolean + default: false jobs: determine-build-context: @@ -138,8 +143,9 @@ jobs: platforms: ${{ matrix.docker_platform }} provenance: false # Disabled - using SLSA L3 generator for isolated provenance sbom: false # Disabled - BuildKit's syft SBOM under-resolves npm licenses; the sbom-attestation job attests an enriched, license-gated CycloneDX SBOM instead - push: ${{ needs.determine-build-context.outputs.push_enabled == 'true' }} + push: ${{ inputs.force_gzip_compression != true && needs.determine-build-context.outputs.push_enabled == 'true' }} tags: ${{ steps.determine-tags.outputs.n8n_tags }} + outputs: ${{ inputs.force_gzip_compression == true && format('type=image,push={0},compression=gzip,force-compression=true', needs.determine-build-context.outputs.push_enabled) || '' }} - name: Build and push task runners Docker image (Alpine) id: build-runners @@ -154,8 +160,9 @@ jobs: platforms: ${{ matrix.docker_platform }} provenance: false # Disabled - using SLSA L3 generator for isolated provenance sbom: false # Disabled - BuildKit's syft SBOM under-resolves npm licenses; the sbom-attestation job attests an enriched, license-gated CycloneDX SBOM instead - push: ${{ needs.determine-build-context.outputs.push_enabled == 'true' }} + push: ${{ inputs.force_gzip_compression != true && needs.determine-build-context.outputs.push_enabled == 'true' }} tags: ${{ steps.determine-tags.outputs.runners_tags }} + outputs: ${{ inputs.force_gzip_compression == true && format('type=image,push={0},compression=gzip,force-compression=true', needs.determine-build-context.outputs.push_enabled) || '' }} - name: Build and push task runners Docker image (distroless) id: build-runners-distroless @@ -170,8 +177,9 @@ jobs: platforms: ${{ matrix.docker_platform }} provenance: false # Disabled - using SLSA L3 generator for isolated provenance sbom: false # Disabled - BuildKit's syft SBOM under-resolves npm licenses; the sbom-attestation job attests an enriched, license-gated CycloneDX SBOM instead - push: ${{ needs.determine-build-context.outputs.push_enabled == 'true' }} + push: ${{ inputs.force_gzip_compression != true && needs.determine-build-context.outputs.push_enabled == 'true' }} tags: ${{ steps.determine-tags.outputs.runners_distroless_tags }} + outputs: ${{ inputs.force_gzip_compression == true && format('type=image,push={0},compression=gzip,force-compression=true', needs.determine-build-context.outputs.push_enabled) || '' }} create_multi_arch_manifest: name: Create Multi-Arch Manifest