Skip to content

Commit 3d1943f

Browse files
committed
feat: align Docker tags with base image version
1 parent 0f9b8de commit 3d1943f

File tree

3 files changed

+58
-27
lines changed

3 files changed

+58
-27
lines changed

.claude/settings.local.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@
1616
"Bash(docker logs:*)",
1717
"Bash(docker exec:*)",
1818
"Bash(docker stop:*)",
19-
"Bash(docker rm:*)"
19+
"Bash(docker rm:*)",
20+
"Bash(git tag:*)",
21+
"Bash(dotnet tool install:*)",
22+
"Bash(dotnet-gitversion:*)",
23+
"Bash(ls:*)",
24+
"Bash(git add:*)",
25+
"Bash(git commit:*)"
2026
],
2127
"deny": []
2228
}

.github/workflows/pipeline.yaml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ jobs:
3939
outputs:
4040
pathsFilter_src: ${{ steps.pathsFilter.outputs.src }}
4141
gitVersion_SemVer: ${{ steps.gitversion.outputs.GitVersion_SemVer }}
42+
gitVersion_FullSemVer: ${{ steps.gitversion.outputs.GitVersion_FullSemVer }}
43+
gitVersion_InformationalVersion: ${{ steps.gitversion.outputs.GitVersion_InformationalVersion }}
4244
gitVersion_AssemblySemFileVer: ${{ steps.gitversion.outputs.GitVersion_AssemblySemFileVer }}
45+
base_version: ${{ steps.extract_base_version.outputs.version }}
4346
build: ${{ steps.evaluate_build.outputs.result }}
4447
build_push: ${{ steps.evaluate_build_push.outputs.result }}
4548
build_configuration: ${{ steps.evaluate_build_configuration.outputs.result }}
@@ -61,11 +64,20 @@ jobs:
6164
versionSpec: "6.x"
6265
preferLatestVersion: true
6366

67+
- name: extract - base version from Dockerfile
68+
id: extract_base_version
69+
run: |
70+
BASE_VERSION=$(grep "^FROM ghcr.io/actions/actions-runner:" ${{ env.container_image_build_dockerfile }} | cut -d':' -f2)
71+
echo "Extracted base version: $BASE_VERSION"
72+
echo "version=$BASE_VERSION" >> $GITHUB_OUTPUT
73+
6474
- name: gitversion - execute
6575
id: gitversion
6676
uses: gittools/actions/gitversion/[email protected]
6777
with:
6878
configFilePath: GitVersion.yaml
79+
overrideConfig: |
80+
next-version=${{ steps.extract_base_version.outputs.version }}
6981
7082
- name: tools - detect changes
7183
id: pathsFilter
@@ -130,6 +142,7 @@ jobs:
130142
build_configuration: ${{ needs.discovery.outputs.build_configuration }}
131143
gitVersion_SemVer: ${{ needs.discovery.outputs.gitVersion_SemVer }}
132144
gitVersion_AssemblySemFileVer: ${{ needs.discovery.outputs.gitVersion_AssemblySemFileVer }}
145+
base_version: ${{ needs.discovery.outputs.base_version }}
133146
steps:
134147
- name: checkout
135148
uses: actions/checkout@v4
@@ -170,8 +183,8 @@ jobs:
170183
org.opencontainers.image.version=${{ env.gitVersion_SemVer }}
171184
org.opencontainers.image.revision=${{ github.sha }}
172185
tags: |
173-
${{ env.container_image_repository_dockerhub }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }}-${{ matrix.platform == 'linux/amd64' && 'amd64' || 'arm64' }}
174-
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }}-${{ matrix.platform == 'linux/amd64' && 'amd64' || 'arm64' }}
186+
${{ env.container_image_repository_dockerhub }}/${{ env.container_image }}:${{ env.base_version }}-${{ matrix.platform == 'linux/amd64' && 'amd64' || 'arm64' }}
187+
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.base_version }}-${{ matrix.platform == 'linux/amd64' && 'amd64' || 'arm64' }}
175188
176189
177190
@@ -182,6 +195,7 @@ jobs:
182195
runs-on: ubuntu-latest
183196
env:
184197
gitVersion_SemVer: ${{ needs.discovery.outputs.gitVersion_SemVer }}
198+
base_version: ${{ needs.discovery.outputs.base_version }}
185199
steps:
186200
- name: checkout
187201
uses: actions/checkout@v4
@@ -206,10 +220,10 @@ jobs:
206220
- name: docker - create and push multi-arch manifest
207221
run: |
208222
docker buildx imagetools create \
209-
--tag ${{ env.container_image_repository_dockerhub }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }} \
210-
--tag ${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }} \
211-
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }}-amd64 \
212-
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }}-arm64
223+
--tag ${{ env.container_image_repository_dockerhub }}/${{ env.container_image }}:${{ env.base_version }} \
224+
--tag ${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.base_version }} \
225+
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.base_version }}-amd64 \
226+
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.base_version }}-arm64
213227
214228
- name: artifacts - upload readme
215229
uses: actions/upload-artifact@v4
@@ -225,7 +239,10 @@ jobs:
225239
runs-on: ubuntu-latest
226240
env:
227241
gitVersion_SemVer: ${{ needs.discovery.outputs.gitVersion_SemVer }}
242+
gitVersion_FullSemVer: ${{ needs.discovery.outputs.gitVersion_FullSemVer }}
243+
gitVersion_InformationalVersion: ${{ needs.discovery.outputs.gitVersion_InformationalVersion }}
228244
gitVersion_AssemblySemFileVer: ${{ needs.discovery.outputs.gitVersion_AssemblySemFileVer }}
245+
base_version: ${{ needs.discovery.outputs.base_version }}
229246
steps:
230247
- name: tools - docker - login ghcr.io
231248
uses: docker/login-action@v3
@@ -249,15 +266,19 @@ jobs:
249266
docker buildx imagetools create \
250267
--tag ${{ env.container_image_repository_dockerhub }}/${{ env.container_image }}:latest \
251268
--tag ${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:latest \
252-
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.gitVersion_SemVer }}
269+
${{ env.container_image_repository_ghcr }}/${{ env.container_image }}:${{ env.base_version }}
253270
254271
- name: github - release - create
255272
uses: softprops/action-gh-release@v2
256273
with:
257274
repository: ${{ github.repository }}
258-
name: v${{ env.gitVersion_SemVer }}
259-
tag_name: v${{ env.gitVersion_SemVer }}
260-
body: The release process is automated.
275+
name: v${{ env.gitVersion_InformationalVersion }}
276+
tag_name: v${{ env.gitVersion_InformationalVersion }}
277+
body: |
278+
Docker image version: `${{ env.base_version }}`
279+
Release version: `${{ env.gitVersion_InformationalVersion }}`
280+
281+
The release process is automated.
261282
generate_release_notes: true
262283
token: ${{ secrets.ES_GITHUB_PAT }}
263284

GitVersion.yaml

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,45 @@
1-
assembly-versioning-scheme: MajorMinorPatch
2-
assembly-file-versioning-scheme: MajorMinorPatch
3-
mode: ContinuousDelivery
1+
assembly-versioning-scheme: MajorMinorPatchTag
2+
assembly-file-versioning-scheme: MajorMinorPatchTag
3+
mode: ContinuousDeployment
44
tag-prefix: '[vV]'
55
major-version-bump-message: '\+semver:\s?(breaking|major)'
66
minor-version-bump-message: '\+semver:\s?(feature|minor)'
77
patch-version-bump-message: '\+semver:\s?(fix|patch)'
88
no-bump-message: '\+semver:\s?(none|skip)'
99
tag-pre-release-weight: 60000
1010
commit-message-incrementing: Enabled
11+
commits-since-version-source-padding: 0
1112

1213
branches:
13-
develop:
14-
mode: ContinuousDeployment
15-
label: develop
16-
increment: Minor
17-
track-merge-target: true
18-
regex: ^dev(elop)?(ment)?$
19-
source-branches: []
20-
tracks-release-branches: true
21-
is-release-branch: false
22-
is-main-branch: false
23-
pre-release-weight: 0
24-
2514
main:
2615
mode: ContinuousDeployment
2716
label: ''
28-
increment: Patch
17+
increment: None
18+
prevent-increment-of-merged-branch-version: true
2919
track-merge-target: false
3020
regex: ^master$|^main$
3121
source-branches:
3222
- develop
3323
- release
24+
- feature
25+
- hotfix
3426
tracks-release-branches: false
3527
is-release-branch: true
3628
is-main-branch: true
3729
pre-release-weight: 55000
3830

31+
develop:
32+
mode: ContinuousDeployment
33+
label: develop
34+
increment: Minor
35+
track-merge-target: true
36+
regex: ^dev(elop)?(ment)?$
37+
source-branches: []
38+
tracks-release-branches: true
39+
is-release-branch: false
40+
is-main-branch: false
41+
pre-release-weight: 0
42+
3943
release:
4044
mode: ContinuousDelivery
4145
label: rc

0 commit comments

Comments
 (0)