Skip to content

Commit 4b5b920

Browse files
committed
Publish tag latest only on latest tagged master branch
1 parent 2297720 commit 4b5b920

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

.circleci/config.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,45 @@ jobs:
274274
image: sameersbn/gitlab
275275
tag: ${CIRCLE_TAG}
276276

277+
publish-latest:
278+
machine:
279+
image: ubuntu-2404:edge
280+
steps:
281+
- checkout
282+
- docker-load
283+
284+
- run:
285+
name: Check if this is newest master tag
286+
command: |
287+
git fetch --tags origin master
288+
289+
CURRENT=$(git rev-list -n1 "${CIRCLE_TAG}")
290+
MASTER=$(git rev-parse origin/master)
291+
292+
if [ "$CURRENT" != "$MASTER" ]; then
293+
echo "Current tag is not on HEAD of master."
294+
circleci-agent step halt
295+
fi
296+
297+
- docker/check:
298+
registry: docker.io
299+
docker-username: DOCKER_LOGIN
300+
docker-password: DOCKER_PASSWORD
301+
302+
- docker/check:
303+
registry: quay.io
304+
docker-username: DOCKER_LOGIN
305+
docker-password: DOCKER_PASSWORD
306+
307+
- run:
308+
name: Tag latest
309+
command: |
310+
docker tag docker.io/sameersbn/gitlab:${CIRCLE_TAG} docker.io/sameersbn/gitlab:latest
311+
docker push docker.io/sameersbn/gitlab:latest
312+
313+
docker tag quay.io/sameersbn/gitlab:${CIRCLE_TAG} quay.io/sameersbn/gitlab:latest
314+
docker push quay.io/sameersbn/gitlab:latest
315+
277316
release:
278317
executor:
279318
name: go/default
@@ -331,6 +370,18 @@ workflows:
331370
only: /^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
332371
branches:
333372
only: master
373+
- publish-latest:
374+
context:
375+
- dockerhub
376+
- quay
377+
requires:
378+
- publish-dockerhub
379+
- publish-quay
380+
filters:
381+
tags:
382+
only: /^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
383+
branches:
384+
ignore: /.*/
334385
- release:
335386
context: github
336387
requires:

0 commit comments

Comments
 (0)