From 4036e5237bac2e9042f9fb1325398b6e68261d64 Mon Sep 17 00:00:00 2001 From: Xiaonan Shen Date: Thu, 19 Nov 2020 19:11:35 -0800 Subject: [PATCH] Migrate build to build-push-action@v2 (#11) --- .github/workflows/build.yaml | 40 +++++++++++++++++++++++++++++------- build/build-docker.sh | 24 ---------------------- 2 files changed, 33 insertions(+), 31 deletions(-) delete mode 100644 build/build-docker.sh diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 67eb8e7..7c96637 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,9 +14,11 @@ on: - build/entrypoint.sh - build/gpgparams - build/VERSION + pull_request: env: DOCKER_REPO: shenxn/protonmail-bridge + DOCKER_REPO_DEV: shenxn/protonmail-bridge-dev jobs: build: @@ -24,10 +26,34 @@ jobs: steps: - name: Checkout uses: actions/checkout@master - - name: Set up Docker buildx - uses: crazy-max/ghaction-docker-buildx@v2 - - name: Build image - run: bash build/build-docker.sh - env: - DOCKER_USERNAME: ${{ secrets.REGISTRY_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} + - name: Set version + id: version + run: echo "::set-output name=version::`cat build/VERSION`" + - name: Set repo + id: repo + run: if [[ $GITHUB_REF == "refs/heads/master" ]]; then echo "::set-output name=repo::${DOCKER_REPO}"; else echo "::set-output name=repo::${DOCKER_REPO_DEV}"; fi + - name: Docker meta + id: docker_meta + uses: crazy-max/ghaction-docker-meta@v1 + with: + images: ${{ steps.repo.outputs.repo }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + if: ${{ github.event_name != 'pull_request' }} + with: + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + - uses: docker/build-push-action@v2 + with: + context: ./build + file: ./build/Dockerfile + platforms: linux/amd64,linux/arm64/v8,linux/arm/v7 + tags: | + ${{ steps.repo.outputs.repo }}:build + ${{ steps.repo.outputs.repo }}:${{ steps.version.outputs.version }}-build + labels: ${{ steps.docker_meta.outputs.labels }} + push: ${{ github.event_name != 'pull_request' }} diff --git a/build/build-docker.sh b/build/build-docker.sh deleted file mode 100644 index f9e45cd..0000000 --- a/build/build-docker.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -set -ex - -# Enter the right path -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` -cd $SCRIPTPATH - -# Set docker tag -VERSION=`cat VERSION` -if [[ $GITHUB_REF == "refs/heads/master" ]]; then - TAG_TYPE="build" - TAG_VERSION="${VERSION}-build" -else - TAG_TYPE="build-dev" - TAG_VERSION="${VERSION}-build-dev" -fi - -# Docker login -echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - -# Build multiarch and push -docker buildx build $BUILD_ARGS --platform linux/amd64,linux/arm64/v8,linux/arm/v7 -t ${DOCKER_REPO}:${TAG_TYPE} -t ${DOCKER_REPO}:${TAG_VERSION} --push .