name: Docker Image CI on: [push] env: USERNAME: silentdigit PROJECT: letsencrypt jobs: buildx: name: Build Multi-Platform Image and Upload to Docker Hub runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v1 - name: Setup Docker Buildx run: | # Build docker buildx from source export DOCKER_BUILDKIT=1 docker build --platform=local -o . git://github.com/docker/buildx mkdir -p ~/.docker/cli-plugins mv buildx ~/.docker/cli-plugins/docker-buildx # Docker version information echo "DOCKER VERSION:" docker info echo "BUILDX VERSION:" docker buildx version # Install qemu-user-static container docker run --rm --privileged multiarch/qemu-user-static --reset -p yes docker buildx create --name builder --driver docker-container --use docker buildx inspect --bootstrap - name: Build and Push env: DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }} run: | # Variables TAG=$(date +%y.%m) #Login docker login -u ${USERNAME} -p ${DOCKER_TOKEN} # Build image as TAG version docker buildx build -t ${USERNAME}/${PROJECT}:${TAG} --platform=linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x --push . # Build image as latest version docker buildx build -t ${USERNAME}/${PROJECT}:latest --platform=linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/ppc64le,linux/s390x --push .