diff --git a/.github/workflows/container_latest.yml b/.github/workflows/container_latest.yml index 700c70cd6..fc9ac963b 100644 --- a/.github/workflows/container_latest.yml +++ b/.github/workflows/container_latest.yml @@ -156,7 +156,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - platform: [amd64, arm64, arm, 386] + platform: [amd64, arm64, arm, 386, ppc64le, s390x] variant: ${{ fromJSON(needs.setup.outputs.variants) }} steps: @@ -505,7 +505,9 @@ jobs: ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-amd64 \ ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-arm64 \ ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-arm \ - ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-386 + ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-386 \ + ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-ppc64le \ + ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-s390x # The copy and the signature below use the digest this run pushed, not whatever the tag points at by then. DIGEST=$(jq -er '."containerimage.descriptor".digest' /tmp/manifest.json) echo "digest=${DIGEST}" >> "$GITHUB_OUTPUT" @@ -549,13 +551,15 @@ jobs: echo "Using skopeo to copy..." retry_with_backoff skopeo copy --all docker://ghcr.io/chrislusf/seaweedfs@${DIGEST} docker://chrislusf/seaweedfs:${BASE_TAG}${SUFFIX} else - echo "Using docker buildx imagetools (pulling 4 images from Docker Hub)..." + echo "Using docker buildx imagetools (pulling 6 images from Docker Hub)..." # Fallback: create manifest directly on Docker Hub (pulls from Docker Hub - rate limited) retry_with_backoff docker buildx imagetools create -t chrislusf/seaweedfs:${BASE_TAG}${SUFFIX} \ ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-amd64 \ ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-arm64 \ ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-arm \ - ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-386 + ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-386 \ + ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-ppc64le \ + ghcr.io/chrislusf/seaweedfs:${BASE_TAG}${SUFFIX}-s390x fi - name: Sign diff --git a/.github/workflows/container_release_unified.yml b/.github/workflows/container_release_unified.yml index 1c2b4f1a1..3a838d988 100644 --- a/.github/workflows/container_release_unified.yml +++ b/.github/workflows/container_release_unified.yml @@ -149,12 +149,16 @@ jobs: - { variant: normal, tag_suffix: "", dockerfile: ./docker/Dockerfile.go_build, build_args: "", rust_variant: normal, platform: linux/arm64, arch: arm64, runner: ubuntu-24.04-arm, qemu: false } - { variant: normal, tag_suffix: "", dockerfile: ./docker/Dockerfile.go_build, build_args: "", rust_variant: normal, platform: linux/arm/v7, arch: armv7, runner: ubuntu-latest, qemu: true } - { variant: normal, tag_suffix: "", dockerfile: ./docker/Dockerfile.go_build, build_args: "", rust_variant: normal, platform: linux/386, arch: i386, runner: ubuntu-latest, qemu: false } + - { variant: normal, tag_suffix: "", dockerfile: ./docker/Dockerfile.go_build, build_args: "", rust_variant: normal, platform: linux/ppc64le, arch: ppc64le, runner: ubuntu-latest, qemu: true } + - { variant: normal, tag_suffix: "", dockerfile: ./docker/Dockerfile.go_build, build_args: "", rust_variant: normal, platform: linux/s390x, arch: s390x, runner: ubuntu-latest, qemu: true } # Large disk - multi-arch - { variant: large_disk, tag_suffix: _large_disk, dockerfile: ./docker/Dockerfile.go_build, build_args: TAGS=5BytesOffset, rust_variant: large-disk, platform: linux/amd64, arch: amd64, runner: ubuntu-latest, qemu: false } - { variant: large_disk, tag_suffix: _large_disk, dockerfile: ./docker/Dockerfile.go_build, build_args: TAGS=5BytesOffset, rust_variant: large-disk, platform: linux/arm64, arch: arm64, runner: ubuntu-24.04-arm, qemu: false } - { variant: large_disk, tag_suffix: _large_disk, dockerfile: ./docker/Dockerfile.go_build, build_args: TAGS=5BytesOffset, rust_variant: large-disk, platform: linux/arm/v7, arch: armv7, runner: ubuntu-latest, qemu: true } - { variant: large_disk, tag_suffix: _large_disk, dockerfile: ./docker/Dockerfile.go_build, build_args: TAGS=5BytesOffset, rust_variant: large-disk, platform: linux/386, arch: i386, runner: ubuntu-latest, qemu: false } + - { variant: large_disk, tag_suffix: _large_disk, dockerfile: ./docker/Dockerfile.go_build, build_args: TAGS=5BytesOffset, rust_variant: large-disk, platform: linux/ppc64le, arch: ppc64le, runner: ubuntu-latest, qemu: true } + - { variant: large_disk, tag_suffix: _large_disk, dockerfile: ./docker/Dockerfile.go_build, build_args: TAGS=5BytesOffset, rust_variant: large-disk, platform: linux/s390x, arch: s390x, runner: ubuntu-latest, qemu: true } # Full tags - multi-arch - { variant: full, tag_suffix: _full, dockerfile: ./docker/Dockerfile.go_build, build_args: "TAGS=elastic,gocdk,rclone,sqlite,tarantool,tikv,ydb", rust_variant: normal, platform: linux/amd64, arch: amd64, runner: ubuntu-latest, qemu: false }