feat(base): bump deps (#6) #7
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: tags | |
| on: | |
| push: | |
| tags: | |
| - '*' | |
| jobs: | |
| multiarch-to-dockerhub-tag: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v2 | |
| # Parse the ref to get the clean tag name. | |
| - id: get_version | |
| uses: battila7/get-version-action@v2 | |
| - run: echo Current tag ${{ steps.get_version.outputs.version }} | |
| # Setup qEMU for arm64 | |
| - name: Set up QEMU | |
| uses: docker/setup-qemu-action@v1 | |
| with: | |
| platforms: arm64 | |
| # We use buildx instead of regular build so we can take advantage of Docker layer cache via GithubActions's cache | |
| # Also buildx offers multi-arch builds | |
| - name: Set up Docker Buildx | |
| id: buildx | |
| uses: docker/setup-buildx-action@v1 | |
| # Setup the Github Actions cache. | |
| - name: Cache Docker layers | |
| uses: actions/cache@v2 | |
| with: | |
| path: /tmp/.buildx-cache | |
| key: ${{ runner.os }}-buildxarch-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-buildxarch- | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v1 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USERNAME }} | |
| password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | |
| # the arm64 is of course much slower due to qemu, so build and push amd64 **first** | |
| # due to the way manifests work, the gap between this and the complete push below | |
| # could result in pull failures or inconsistencies for arm64, such is life. | |
| # further duplicated by building both release and debug builds | |
| - name: Build and push amd64 Release Docker Image to DockerHub | |
| uses: docker/build-push-action@v2 | |
| with: | |
| build-args: DEBUG_BUILD=0 | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| file: ./Dockerfile | |
| platforms: linux/amd64 | |
| tags: rpardini/nginx-proxy-connect-stable-alpine:${{ steps.get_version.outputs.version }} | |
| push: true | |
| cache-from: type=local,src=/tmp/.buildx-cache/release | |
| # first run does not export the cache | |
| - name: Build and push amd64 Debug Docker Image to DockerHub | |
| uses: docker/build-push-action@v2 | |
| with: | |
| build-args: DEBUG_BUILD=1 | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| file: ./Dockerfile | |
| platforms: linux/amd64 | |
| tags: rpardini/nginx-proxy-connect-stable-alpine:${{ steps.get_version.outputs.version }}-debug | |
| push: true | |
| cache-from: type=local,src=/tmp/.buildx-cache/debug | |
| # first run does not export the cache | |
| # Do it all again with both archs. the amd64 will be a huge cache hit | |
| # this will update the manifest have both arches | |
| - name: Build and push multiarch Release Docker Image to DockerHub | |
| uses: docker/build-push-action@v2 | |
| with: | |
| build-args: DEBUG_BUILD=0 | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| file: ./Dockerfile | |
| platforms: linux/arm64,linux/amd64 | |
| tags: rpardini/nginx-proxy-connect-stable-alpine:${{ steps.get_version.outputs.version }} | |
| push: true | |
| cache-from: type=local,src=/tmp/.buildx-cache/release | |
| cache-to: type=local,mode=max,dest=/tmp/.buildx-cache/release | |
| - name: Build and push multiarch Debug Docker Image to DockerHub | |
| uses: docker/build-push-action@v2 | |
| with: | |
| build-args: DEBUG_BUILD=1 | |
| builder: ${{ steps.buildx.outputs.name }} | |
| context: . | |
| file: ./Dockerfile | |
| platforms: linux/arm64,linux/amd64 | |
| tags: rpardini/nginx-proxy-connect-stable-alpine:${{ steps.get_version.outputs.version }}-debug | |
| push: true | |
| cache-from: type=local,src=/tmp/.buildx-cache/debug | |
| cache-to: type=local,mode=max,dest=/tmp/.buildx-cache/debug | |