feat(ci): auto-update docker compose examples when a full starter is published
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 970
- Forks
- 486
- Avg merge
- 3d 33m
- Merged PRs (30d)
- 170
Description
Description
When a new full starter is generated via the Publish Starter GitHub Action workflow, the docker/docker-compose-examples/ files that hard-code the starter artifact URL need to be updated to point to the newly published starter.
Currently the workflow already does this for the empty starter:
- Updates
parent/pom.xmlwith the newstarter.deploy.version - Opens an automated PR via
peter-evans/create-pull-request@v6 - Appends a
:exclamation: Approvals requiredPR link to the Slack#log-starternotification
The same pattern should be replicated for the full starter, targeting the CUSTOM_STARTER_URL value inside the docker compose examples instead of pom.xml.
Affected file (current reference):
docker/docker-compose-examples/single-node/docker-compose.yml
CUSTOM_STARTER_URL: 'https://repo.dotcms.com/artifactory/libs-release-local/com/dotcms/starter/20260409/starter-20260409.zip'
Acceptance Criteria
- When the
Publish Starterworkflow runs withtype: fullanddry-run: false, a step updatesCUSTOM_STARTER_URLin all docker compose example files that reference a full starter artifact URL - An automated PR is created (via
peter-evans/create-pull-request@v6) containing only the docker compose file changes, using an appropriate branch name (e.g.,<issue-number>-update-docker-compose-starter-<version>-<run_id>) - The PR title and body clearly identify the new starter version and that the PR was created automatically
- The PR is labeled with
full-starterandautomated pr - The Slack
#log-starternotification for a full starter includes the PR link with the same:exclamation: Approvals requiredalert format already used for the empty starter - The new steps are guarded by
type == 'full' && dry-run == 'false'conditions (mirroring the empty starter guards) - Dry-run mode skips PR creation and omits the PR link from any Slack message
Additional Context
- Reference implementation (empty starter path):
.github/workflows/cicd_manual_publish-starter.yml— stepsupdate-pom,create-pull-request, and thePR_ALERTblock insideCompose Message - The
issue-numberworkflow input (already required) should be reused for the full-starter branch name, consistent with the empty starter approach
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with .github/workflows/cicd_manual_publish-starter.yml and inspect the existing update-pom, create-pull-request, and PR_ALERT steps for the empty-starter path. Add the corresponding full-starter workflow behavior for CUSTOM_STARTER_URL, then verify that full non-dry runs create the labeled PR and Slack alert while dry runs skip both.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker-compose, github-actions, yaml
- Domain
- ci-cd, devops
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100