Skip to content

Commit 39a1101

Browse files
ci: publish docker image on version tags (#570)
1 parent ee88faa commit 39a1101

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

.github/workflows/push.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ name: push
22
on:
33
push:
44
branches: main
5+
tags:
6+
- 'v*'
57

68
env:
79
BACKEND_IMAGE_NAME: alert-api
@@ -23,15 +25,22 @@ jobs:
2325
poetry-version: ${{ env.POETRY_VERSION }}
2426
- name: Resolve dependencies
2527
run: poetry export -f requirements.txt --without-hashes --output requirements.txt
28+
- name: Resolve image tag
29+
run: |
30+
if [[ "${GITHUB_REF}" == refs/tags/v* ]]; then
31+
echo "IMAGE_TAG=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
32+
else
33+
echo "IMAGE_TAG=latest" >> $GITHUB_ENV
34+
fi
2635
- name: Build docker
27-
run: docker build -f src/Dockerfile . -t $DOCKERHUB_USER/$BACKEND_IMAGE_NAME:latest
36+
run: docker build -f src/Dockerfile . -t $DOCKERHUB_USER/$BACKEND_IMAGE_NAME:$IMAGE_TAG
2837
- name: Login to DockerHub
2938
uses: docker/login-action@v3
3039
with:
3140
username: ${{ secrets.DOCKERHUB_LOGIN }}
3241
password: ${{ secrets.DOCKERHUB_PW }}
3342
- name: Push to hub
34-
run: docker push $DOCKERHUB_USER/$BACKEND_IMAGE_NAME:latest
43+
run: docker push $DOCKERHUB_USER/$BACKEND_IMAGE_NAME:$IMAGE_TAG
3544
- name: Login to GHCR
3645
uses: docker/login-action@v3
3746
with:
@@ -42,10 +51,11 @@ jobs:
4251
run: |
4352
IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$BACKEND_IMAGE_NAME
4453
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
45-
docker tag $DOCKERHUB_USER/$BACKEND_IMAGE_NAME:latest $IMAGE_ID:latest
46-
docker push $IMAGE_ID:latest
54+
docker tag $DOCKERHUB_USER/$BACKEND_IMAGE_NAME:$IMAGE_TAG $IMAGE_ID:$IMAGE_TAG
55+
docker push $IMAGE_ID:$IMAGE_TAG
4756
4857
deploy-dev:
58+
if: github.ref == 'refs/heads/main'
4959
needs: docker
5060
runs-on: ubuntu-latest
5161
steps:

0 commit comments

Comments
 (0)