You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: add mutable floating tag for Java variant release builds (#34745) (#34766)
## Summary
Fixes#34745
When `raw_suffix` is non-empty (e.g., `java-25`), push a suffix-only
mutable tag to Docker Hub for both `dotcms/dotcms` and
`dotcms/dotcms-dev`. This provides the variant equivalent of `latest`
for primary builds.
## Changes
- Add `extra-tags` to deploy-docker when `raw_suffix` is non-empty
(unconditional, no `latest` gate)
- Add `artifact_suffix` to dev image deploy-docker call (was missing)
- Update tag model documentation with variant release floating tag
- Apply `java-25` naming convention (dash separator) per team decision
## Acceptance Criteria
- [x] When a Java variant release completes, a mutable tag matching the
raw artifact suffix is pushed for both images
- [x] The suffix-based floating tag is pushed unconditionally whenever
`raw_suffix` is non-empty
- [x] Existing tags (`{version}_{suffix}`, `{version}_{suffix}_{sha}`)
continue to be created
- [x] The `latest` tag for primary releases is unaffected
- [x] `cicd_7-release-java-variant.yml` does not need `latest: true`
- [x] Tag model documentation updated
Made with [Cursor](https://cursor.com)
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy file name to clipboardExpand all lines: .github/actions/core-cicd/deployment/deploy-docker/action.yml
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -59,19 +59,19 @@ inputs:
59
59
required: false
60
60
default: ''
61
61
artifact_suffix:
62
-
description: 'Suffix for artifact names (e.g., -java25). Used to download the correct docker-build-context artifact.'
62
+
description: 'Suffix for artifact names (e.g., -java-25). Used to download the correct docker-build-context artifact.'
63
63
required: false
64
64
default: ''
65
65
pull:
66
66
description: 'Pull image before building'
67
67
required: false
68
68
default: 'false'
69
69
identifier-tag:
70
-
description: 'Optional mutable alias tag managed by the deployment phase (e.g., nightly_20250218_java25, manual_issue-123_java25). Applied when non-empty.'
70
+
description: 'Optional mutable alias tag managed by the deployment phase (e.g., nightly_20250218_java-25, manual_issue-123_java-25). Applied when non-empty.'
71
71
required: false
72
72
default: ''
73
73
custom-tag:
74
-
description: 'Optional custom alias tag chosen by the developer (e.g., modernization, java25-testing). Applied when non-empty.'
74
+
description: 'Optional custom alias tag chosen by the developer (e.g., modernization, java-25-testing). Applied when non-empty.'
Copy file name to clipboardExpand all lines: .github/workflows/cicd_7-release-java-variant.yml
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@
13
13
# This variant workflow:
14
14
# - Uses alternate Java version for compilation (e.g., Java 25 vs Java 21)
15
15
# - Overrides -Dchangelist at runtime to create different Maven version
16
-
# (e.g., 25.02.16-01-java25 vs 25.02.16-01)
16
+
# (e.g., 25.02.16-01-java-25 vs 25.02.16-01)
17
17
# - Adds artifact suffix to distinguish build artifacts and Docker tags
18
18
# - Skips operations already performed by primary (javadocs, plugins, labels)
19
19
#
@@ -24,7 +24,7 @@
24
24
# Configuration:
25
25
# Set repository variables for automatic parallel builds:
26
26
# RELEASE_JAVA_VARIANT_VERSION: Java version in SDKMAN format (e.g., 25.0.2-ms)
27
-
# RELEASE_JAVA_VARIANT_SUFFIX: Artifact suffix without separator (e.g., java25-ms)
27
+
# RELEASE_JAVA_VARIANT_SUFFIX: Artifact suffix without separator (e.g., java-25-ms)
28
28
#
29
29
30
30
name: '-7 Release Java Variant'
@@ -46,7 +46,7 @@ on:
46
46
type: string
47
47
default: ''
48
48
artifact_suffix:
49
-
description: 'Artifact suffix without leading separator (e.g., java25, java25-ms). Separators added automatically: dash (-) for Maven artifacts, underscore (_) for Docker tags. If not set, derived from java-version major (e.g., java25).'
49
+
description: 'Artifact suffix without leading separator (e.g., java-25, java-25-ms). Separators added automatically: dash (-) for Maven artifacts, underscore (_) for Docker tags. If not set, derived from java-version major (e.g., java-25).'
# All tags (base, sha, identifier alias, custom) are applied in a single docker build.
41
45
# The deploy-docker action accepts semantic inputs (identifier-tag, custom-tag); the
@@ -69,7 +73,7 @@ on:
69
73
type: boolean
70
74
default: false
71
75
custom-tag:
72
-
description: 'Optional exact alias tag, used by manual workflow for developer-chosen tag names (e.g., modernization, java25-testing). Pulled from the immutable SHA tag for reliability.'
76
+
description: 'Optional exact alias tag, used by manual workflow for developer-chosen tag names (e.g., modernization, java-25-testing). Pulled from the immutable SHA tag for reliability.'
73
77
required: false
74
78
type: string
75
79
default: ''
@@ -97,7 +101,7 @@ on:
97
101
type: string
98
102
default: ''
99
103
artifact-suffix:
100
-
description: 'Artifact suffix without leading separator (e.g., java25, java25-ms). Separators added automatically: dash (-) for Maven artifacts, underscore (_) for Docker tags. If not set, derived from java-version major (e.g., java25).'
104
+
description: 'Artifact suffix without leading separator (e.g., java-25, java-25-ms). Separators added automatically: dash (-) for Maven artifacts, underscore (_) for Docker tags. If not set, derived from java-version major (e.g., java-25).'
101
105
required: false
102
106
type: string
103
107
default: ''
@@ -151,13 +155,13 @@ jobs:
151
155
shell: bash
152
156
run: |
153
157
# Naming Convention for Java Variants:
154
-
# - User input: suffix without leading separator (e.g., "java25" or "java25-ms")
155
-
# - Maven artifacts: use dash separator (e.g., "-java25")
156
-
# - Docker tags: use underscore separator (e.g., "_java25")
158
+
# - User input: suffix without leading separator (e.g., "java-25" or "java-25-ms")
159
+
# - Maven artifacts: use dash separator (e.g., "-java-25")
160
+
# - Docker tags: use underscore separator (e.g., "_java-25")
157
161
#
158
162
# Note: Underscore in Docker tags is non-standard but follows existing dotCMS convention.
159
163
# Docker typically uses dash or no separator, but we use underscore to distinguish from
160
-
# version dashes (e.g., "25.02.16-01_java25_abc123" vs "25.02.16-01-java25-abc123").
164
+
# version dashes (e.g., "25.02.16-01_java-25_abc123" vs "25.02.16-01-java-25-abc123").
161
165
# This convention may be revisited in future.
162
166
163
167
# Use provided java-version if set, otherwise read from .sdkmanrc
0 commit comments