fix(ci): docker metadata image tags
Move metata as top step in publish workflow
Simplify `v0.x.x` check
Dynamically determine base branch
@@ -91,22 +91,6 @@ jobs:
steps:
- uses: actions/checkout@v2.4.0
- - uses: docker/setup-qemu-action@v1
- - uses: docker/setup-buildx-action@v1
-
- - uses: docker/login-action@v1
- with:
- username: qmcgaw
- password: ${{ secrets.DOCKERHUB_PASSWORD }}
-
- - name: Check for semver tag
- id: semvercheck
- run: |
- if [[ ${{ github.ref }} =~ ^refs\/tags\/v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
- MATCH=true
- fi
- echo ::set-output name=match::$MATCH
-
# extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
@@ -114,16 +98,25 @@ jobs:
uses: docker/metadata-action@v3
with:
flavor: |
- latest=${{ github.ref == 'refs/heads/master' }}
+ latest=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }}
images: |
qmcgaw/gluetun
qmcgaw/private-internet-access
tags: |
- type=ref,event=branch,enable=${{ github.ref != 'refs/heads/master' }}
- type=semver,pattern=v{{major}}.{{minor}}.{{patch}},enable=${{ startsWith(steps.semvercheck.outputs.match, 'true') }}
- type=semver,pattern=v{{major}}.{{minor}},enable=${{ startsWith(steps.semvercheck.outputs.match, 'true') }}
- type=semver,pattern=v{{major}},enable=${{ startsWith(steps.semvercheck.outputs.match, 'true_nonzero') }}
- type=raw,value=latest,enable=${{ !startsWith(steps.semvercheck.outputs.match, 'true') }}
+ type=ref,event=branch,enable=${{ github.ref != format('refs/heads/{0}', github.event.repository.default_branch) }}
+ type=ref,event=pr
+ type=semver,pattern=v{{major}}.{{minor}}.{{patch}}
+ type=semver,pattern=v{{major}}.{{minor}}
+ type=semver,pattern=v{{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }}
+ type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }}
+
+ - uses: docker/setup-qemu-action@v1
+ - uses: docker/setup-buildx-action@v1
+
+ - uses: docker/login-action@v1
+ with:
+ username: qmcgaw
+ password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Short commit
id: shortcommit
