|
@@ -0,0 +1,87 @@
|
|
|
|
+name: DockerHub
|
|
|
|
+
|
|
|
|
+on:
|
|
|
|
+ workflow_dispatch:
|
|
|
|
+ push:
|
|
|
|
+ branches:
|
|
|
|
+ - master
|
|
|
|
+ tags:
|
|
|
|
+ - '*.*.*'
|
|
|
|
+ paths-ignore:
|
|
|
|
+ - 'test/*'
|
|
|
|
+ - '.gitignore'
|
|
|
|
+ - '.travis.yml'
|
|
|
|
+ - 'docker-compose-separate-containers.yml'
|
|
|
|
+ - 'docker-compose.yml'
|
|
|
|
+ - 'LICENSE'
|
|
|
|
+ - 'Makefile'
|
|
|
|
+ - '*.md'
|
|
|
|
+
|
|
|
|
+jobs:
|
|
|
|
+ multiarch-build:
|
|
|
|
+ runs-on: ubuntu-latest
|
|
|
|
+ steps:
|
|
|
|
+
|
|
|
|
+ - name: Checkout
|
|
|
|
+ uses: actions/checkout@v2
|
|
|
|
+ with:
|
|
|
|
+ fetch-depth: 0
|
|
|
|
+
|
|
|
|
+ - name: Get Docker tags for Debian based image
|
|
|
|
+ id: docker_meta_debian
|
|
|
|
+ uses: crazy-max/ghaction-docker-meta@v1
|
|
|
|
+ with:
|
|
|
|
+ images: nginxproxy/nginx-proxy
|
|
|
|
+ tag-semver: |
|
|
|
|
+ {{version}}
|
|
|
|
+ {{major}}.{{minor}}
|
|
|
|
+
|
|
|
|
+ - name: Get Docker tags for Alpine based image
|
|
|
|
+ id: docker_meta_alpine
|
|
|
|
+ uses: crazy-max/ghaction-docker-meta@v1
|
|
|
|
+ with:
|
|
|
|
+ images: nginxproxy/nginx-proxy
|
|
|
|
+ tag-semver: |
|
|
|
|
+ {{version}}-alpine
|
|
|
|
+ {{major}}.{{minor}}-alpine
|
|
|
|
+
|
|
|
|
+ - 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 the Debian based image
|
|
|
|
+ id: docker_build_debian
|
|
|
|
+ uses: docker/build-push-action@v2
|
|
|
|
+ with:
|
|
|
|
+ file: Dockerfile
|
|
|
|
+ platforms: linux/amd64
|
|
|
|
+ push: true
|
|
|
|
+ tags: |
|
|
|
|
+ ${{ github.ref != 'refs/heads/master' && steps.docker_meta_debian.outputs.tags || '' }}
|
|
|
|
+ ${{ github.ref == 'refs/heads/master' && 'nginxproxy/nginx-proxy:latest' || '' }}
|
|
|
|
+ labels: ${{ steps.docker_meta.outputs.labels }}
|
|
|
|
+
|
|
|
|
+ - name: Build and push the Alpine based image
|
|
|
|
+ id: docker_build_alpine
|
|
|
|
+ uses: docker/build-push-action@v2
|
|
|
|
+ with:
|
|
|
|
+ file: Dockerfile.alpine
|
|
|
|
+ platforms: linux/amd64
|
|
|
|
+ push: true
|
|
|
|
+ tags: |
|
|
|
|
+ ${{ github.ref != 'refs/heads/master' && steps.docker_meta_alpine.outputs.tags || '' }}
|
|
|
|
+ ${{ github.ref == 'refs/heads/master' && 'nginxproxy/nginx-proxy:alpine' || '' }}
|
|
|
|
+ labels: ${{ steps.docker_meta.outputs.labels }}
|
|
|
|
+
|
|
|
|
+ - name: Images digests
|
|
|
|
+ run: |
|
|
|
|
+ echo ${{ steps.docker_build_debian.outputs.digest }}
|
|
|
|
+ echo ${{ steps.docker_build_alpine.outputs.digest }}
|