From 068ce5da00a2796958eeeb5d8dfe4b1119e5e6ef Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Mon, 21 Jun 2021 15:20:19 +0200 Subject: [PATCH] Update dev-image.yml --- .github/workflows/dev-image.yml | 59 +++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/.github/workflows/dev-image.yml b/.github/workflows/dev-image.yml index e9d8ec4..031b54d 100644 --- a/.github/workflows/dev-image.yml +++ b/.github/workflows/dev-image.yml @@ -3,15 +3,54 @@ on: push: branches: [ dev ] jobs: - build: + docker: runs-on: ubuntu-latest - env: - DOCKER_BUILDKIT: '1' steps: - - uses: actions/checkout@v2 - - name: Build the Unified Docker image - run: docker build . --file Dockerfile --tag albertoxamin/bang:dev - - name: Log into registry - run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin - - name: Push images - run: docker push albertoxamin/bang:dev + - name: Checkout + uses: actions/checkout@v2 + + - name: Prepare + id: prep + run: | + DOCKER_IMAGE=${{ secrets.DOCKER_USERNAME }}/${GITHUB_REPOSITORY#*/} + VERSION=latest + SHORTREF=${GITHUB_SHA::8} + + TAGS="${DOCKER_IMAGE}:dev,${DOCKER_IMAGE}:${SHORTREF}" + + # If the VERSION looks like a version number, assume that + # this is the most recent version of the image and also + # tag it 'latest'. + if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + TAGS="$TAGS,${DOCKER_IMAGE}:latest" + fi + + # Set output parameters. + echo ::set-output name=tags::${TAGS} + echo ::set-output name=docker_image::${DOCKER_IMAGE} + + - name: Set up QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@master + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build + uses: docker/build-push-action@v2 + with: + builder: ${{ steps.buildx.outputs.name }} + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm64,linux/ppc64le + push: true + tags: ${{ steps.prep.outputs.tags }}