github.com/minio/mc@v0.0.0-20240507152021-646712d5e5fb/docker-buildx.sh (about)

     1  #!/bin/bash
     2  #
     3  # Copyright (c) 2015-2023 MinIO, Inc.
     4  #
     5  # This file is part of MinIO Object Storage stack
     6  #
     7  # This program is free software: you can redistribute it and/or modify
     8  # it under the terms of the GNU Affero General Public License as published by
     9  # the Free Software Foundation, either version 3 of the License, or
    10  # (at your option) any later version.
    11  #
    12  # This program is distributed in the hope that it will be useful
    13  # but WITHOUT ANY WARRANTY; without even the implied warranty of
    14  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    15  # GNU Affero General Public License for more details.
    16  #
    17  # You should have received a copy of the GNU Affero General Public License
    18  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    19  #
    20  
    21  sudo sysctl net.ipv6.conf.all.disable_ipv6=1
    22  
    23  release=$(git describe --abbrev=0 --tags)
    24  
    25  docker buildx build --push --no-cache \
    26  	--build-arg RELEASE="${release}" \
    27  	-t "minio/mc:latest" \
    28  	-t "minio/mc:${release}" \
    29  	-t "quay.io/minio/mc:${release}" \
    30  	-t "quay.io/minio/mc:latest" \
    31  	--platform=linux/arm64,linux/amd64,linux/ppc64le,linux/s390x \
    32  	-f Dockerfile.release .
    33  
    34  docker buildx prune -f
    35  
    36  docker buildx build --push --no-cache \
    37  	--build-arg RELEASE="${release}" \
    38  	-t "minio/mc:${release}-cpuv1" \
    39  	-t "quay.io/minio/mc:${release}-cpuv1" \
    40  	--platform=linux/arm64,linux/amd64,linux/ppc64le,linux/s390x \
    41  	-f Dockerfile.release.old_cpu .
    42  
    43  docker buildx prune -f
    44  
    45  docker buildx build --push --no-cache \
    46  	--build-arg RELEASE="${release}" \
    47  	-t "minio/mc:${release}.fips" \
    48  	-t "quay.io/minio/mc:${release}.fips" \
    49  	--platform=linux/amd64 -f Dockerfile.release.fips .
    50  
    51  docker buildx prune -f
    52  
    53  sudo sysctl net.ipv6.conf.all.disable_ipv6=0