-
Notifications
You must be signed in to change notification settings - Fork 481
Description
Problem Statement
The dotcms/dotcms-dev:latest Docker tag is overwritten on every nightly build due to a missing inputs.latest guard in cicd_comp_deployment-phase.yml. The main image (dotcms/dotcms) correctly gates the latest tag behind inputs.latest, but the dev image does not.
Design principle violated: latest must only be set by the release workflow for primary (non-variant) builds. All other build types (nightly, trunk, feature) have their own meaningful floating tags and must never write to latest.
Affects CI/CD pipeline behavior — nightly runs silently corrupt the release-only latest tag for the dev image.
Steps to Reproduce
- Trigger or observe any nightly workflow run (
cicd_4-nightly.yml) - Check Docker Hub for
dotcms/dotcms-dev:latest - Observe that the tag timestamp reflects the most recent nightly, not the most recent release
Root cause — cicd_comp_deployment-phase.yml:
Line 250 (main image — correct, gated on inputs.latest):
latest: ${{ inputs.latest && steps.get-sdkman-version.outputs.docker_suffix == '' }}Line 293 (dev image — incorrect, missing inputs.latest gate):
latest: ${{ steps.get-sdkman-version.outputs.docker_suffix == '' }}Acceptance Criteria
- Line 293 in
cicd_comp_deployment-phase.ymlupdated to addinputs.latest &&guard, matching the pattern on line 250 -
dotcms/dotcms-dev:latestis no longer updated by nightly builds -
dotcms/dotcms-dev:latestcontinues to be updated correctly by the release workflow (cicd_6-release.ymlpasseslatest: true) - Variant release builds (
cicd_7-release-java-variant.yml) do not pushlatestfor the dev image (no change needed — they already omitlatest: true) - Comment block in
cicd_comp_deployment-phase.yml(lines 14–41) updated to document thelatest-only-on-release rule for both main and dev images
dotCMS Version
CI/CD pipeline — current main branch
Severity
Medium - Some functionality impacted
Links
- Related to Fix Docker tag model: add mutable variant release floating tag and restrict latest to release #34745 (split out from Docker tag model issue)
cicd_comp_deployment-phase.ymlline 293
Metadata
Metadata
Assignees
Labels
Type
Projects
Status