Skip to content

Commit cfb9d93

Browse files
committed
Add Docker tags for major and minor versions
1 parent 153ccde commit cfb9d93

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

.github/workflows/build-and-push-docker-image.yml

+16-4
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ on: # yamllint disable-line rule:truthy
99
workflow_dispatch:
1010
inputs:
1111
tag:
12-
description: Docker image tag
13-
required: true
12+
description: Docker image tag (optional, defaults to Git ref)
13+
required: false
1414
type: string
1515

1616
jobs:
@@ -21,12 +21,21 @@ jobs:
2121
- uses: actions/checkout@v4
2222
- name: Build Docker image
2323
run: |
24-
IMAGE="ghcr.io/$GITHUB_REPOSITORY:${DOCKER_TAG/'/'/'-'}"
24+
DOCKER_TAG="${DOCKER_TAG/'/'/'-'}"
25+
DOCKER_TAG_MAJOR=$(echo "$DOCKER_TAG" | cut -d '.' -f 1)
26+
DOCKER_TAG_MAJOR_MINOR=$(echo "$DOCKER_TAG" | cut -d '.' -f 1-2)
27+
IMAGE="ghcr.io/$GITHUB_REPOSITORY:${DOCKER_TAG}"
28+
IMAGE_MAJOR="ghcr.io/$GITHUB_REPOSITORY:${DOCKER_TAG_MAJOR}"
29+
IMAGE_MAJOR_MINOR="ghcr.io/$GITHUB_REPOSITORY:${DOCKER_TAG_MAJOR_MINOR}"
2530
echo "IMAGE=$IMAGE" >>"$GITHUB_ENV"
31+
echo "IMAGE_MAJOR=$IMAGE_MAJOR" >>"$GITHUB_ENV"
32+
echo "IMAGE_MAJOR_MINOR=$IMAGE_MAJOR_MINOR" >>"$GITHUB_ENV"
2633
docker build . \
2734
--build-arg BUILDKIT_INLINE_CACHE=1 \
2835
--cache-from $IMAGE \
2936
--tag $IMAGE
37+
docker tag $IMAGE $IMAGE_MAJOR
38+
docker tag $IMAGE $IMAGE_MAJOR_MINOR
3039
env:
3140
DOCKER_TAG: ${{ inputs.tag || github.ref_name }}
3241
- name: Log in to GHCR
@@ -36,4 +45,7 @@ jobs:
3645
docker login ghcr.io -u $GITHUB_ACTOR --password-stdin
3746
- name: Push Docker image to GHCR
3847
if: github.event_name != 'pull_request'
39-
run: docker push $IMAGE
48+
run: |
49+
docker push $IMAGE
50+
docker push $IMAGE_MAJOR
51+
docker push $IMAGE_MAJOR_MINOR

0 commit comments

Comments
 (0)