Skip to content

Commit

Permalink
Merge pull request #190 from NewFuture/develop
Browse files Browse the repository at this point in the history
ci: Add GitHub Actions for Docker buildx
  • Loading branch information
NewFuture authored Aug 3, 2020
2 parents e424df3 + 31a32a6 commit daaa1de
Showing 1 changed file with 57 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: ci

on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master

jobs:
docker-buildx:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Docker buildx
uses: crazy-max/ghaction-docker-buildx@v3
- name: Prepare arguments
id: prepare
env:
DOCKER_REPO: newfuture/ddns
DOCKER_PLATFORMS: linux/amd64,linux/arm,linux/arm64
run: |
DOCKER_PUSH=false
DOCKER_TAGS="--tag ${DOCKER_REPO}:latest"
if [[ $GITHUB_REF == refs/tags/v* ]]; then
DOCKER_PUSH=true
DOCKER_TAGS="${DOCKER_TAGS} --tag ${DOCKER_REPO}:${GITHUB_REF#refs/tags/v}"
fi
echo ::set-output name=buildx_push::${DOCKER_PUSH}
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} ${DOCKER_TAGS} .
- name: Run buildx
run: |
docker buildx build \
--output "type=image,push=false" \
${{ steps.prepare.outputs.buildx_args }}
- name: Docker Hub login
if: success() && steps.prepare.outputs.buildx_push == 'true'
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: |
echo "${DOCKER_PASSWORD}" | docker login \
--username "${DOCKER_USERNAME}" \
--password-stdin
- name: Run buildx and push
if: success() && steps.prepare.outputs.buildx_push == 'true'
run: |
docker buildx build \
--output "type=image,push=true" \
${{ steps.prepare.outputs.buildx_args }}
- name: Docker Hub logout
if: always() && steps.prepare.outputs.buildx_push == 'true'
run: docker logout

0 comments on commit daaa1de

Please sign in to comment.