diff --git a/.github/workflows/docker-ci.yml b/.github/workflows/docker-ci.yml new file mode 100644 index 0000000..62bfa30 --- /dev/null +++ b/.github/workflows/docker-ci.yml @@ -0,0 +1,57 @@ +name: docker-ci + +on: + push: + branches: + - 'master' + release: + types: [published] + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - + name: Find Git Tag + id: tagger + uses: jimschubert/query-tag-action@v2 + with: + include: 'v*' + exclude: '*-rc*' + commit-ish: 'HEAD' + skip-unshallow: 'true' + abbrev: 7 + - + name: Determine image tag type + uses: haya14busa/action-cond@v1 + id: imgtag + with: + cond: ${{ github.event_name == 'release' }} + if_true: ${{ secrets.DOCKERHUB_USERNAME }}/warp-proxy:${{ github.event.release.tag_name }},${{ secrets.DOCKERHUB_USERNAME }}/warp-proxy:latest + if_false: ${{ secrets.DOCKERHUB_USERNAME }}/warp-proxy:latest + - + 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 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: . + push: true + tags: ${{ steps.imgtag.outputs.value }} + build-args: 'GIT_DESC=${{steps.tagger.outputs.tag}}'