fix(ci): stop pinning Camunda 8.8 test image to floating 8.10-SNAPSHOT - #542
Draft
claude[bot] wants to merge 3 commits into
Draft
fix(ci): stop pinning Camunda 8.8 test image to floating 8.10-SNAPSHOT#542claude[bot] wants to merge 3 commits into
claude[bot] wants to merge 3 commits into
Conversation
A Renovate PR (#500, commit 1b18719) mistakenly bumped the hardcoded camunda/camunda:8.8-SNAPSHOT pin in assets/c8/8.8/docker-compose.yml to camunda/camunda:8.10-SNAPSHOT, since the value looked like a Docker tag Renovate should keep current. That silently turned the "Camunda 8.8" integration test leg into a test against a moving, unrelated 8.10 snapshot build, which finally broke compatibility and failed the release pipeline. Parameterize the image on ${CAMUNDA_VERSION}, matching how assets/c8/8.9/docker-compose.yml already does it, and add a CAMUNDA_VERSION=8.8.36 default to assets/c8/8.8/.env (mirroring 8.9/.env's CAMUNDA_VERSION=8.9.1) so docker compose still resolves to a real, pinned 8.8.x image when the workflow does not override the variable. Because the tag is now a variable rather than a literal, Renovate's docker-compose manager can no longer "helpfully" bump it, the same protection 8.9 already has.
|
|
# Conflicts: # assets/c8/8.8/docker-compose.yml
Renovate has auto-bumped the pinned camunda/camunda test image twice now while it wasn't supposed to move (PR #500, then PR #543 while this PR was open), each time breaking the 8.8/8.9 release CI. Now that the docker-compose files reference ${CAMUNDA_VERSION} instead of a literal tag, the docker-compose manager has nothing left to bump there, but CAMUNDA_VERSION is still a literal version string in the .env files. Add a packageRules ignore rule scoped to assets/c8/8.8/** and assets/c8/8.9/** as defensive insurance against a third repeat.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested via Slack thread
Before / After
Before:
assets/c8/8.8/docker-compose.ymlhardcodedimage: camunda/camunda:8.10-SNAPSHOTfor the "Camunda 8.8" integration test leg. That meant the leg named "8.8" was actually running against a completely unrelated, constantly-moving 8.10 snapshot build instead of any real 8.8 release.After: the image is parameterized as
image: camunda/camunda:${CAMUNDA_VERSION}, exactly matching the pattern already used inassets/c8/8.9/docker-compose.yml. ACAMUNDA_VERSION=8.8.36default was added toassets/c8/8.8/.env(mirroringCAMUNDA_VERSION=8.9.1inassets/c8/8.9/.env) sodocker compose upstill resolves to a real, pinned 8.8.x image by default, while CI'senv: CAMUNDA_VERSION: ${{ matrix.camunda }}step can still override it per the test matrix.In short: the "Camunda 8.8" test leg was silently running against a moving 8.10-SNAPSHOT image instead of a real 8.8 image; now it correctly runs against
${CAMUNDA_VERSION}, matching the 8.9 leg's pattern.Why
Because the tag is now a variable rather than a literal Docker tag, Renovate's docker-compose manager has nothing to bump here anymore — the same protection that has kept
assets/c8/8.9/docker-compose.ymluntouched by Renovate all along. Norenovate.jsonchanges were needed for this.How
Release run 32697338313 failed because the "Camunda 8.8" integration-test leg was actually exercising
camunda/camunda:8.10-SNAPSHOT. That pin was introduced by Renovate PR #500 (commit1b18719, "chore(deps): update camunda/camunda docker tag to v8.10"), which mistakenly bumped what was meant to be a fixed8.8-SNAPSHOTcompatibility-test pin — Renovate saw a literal, bumpable Docker tag and updated it like any other dependency. Since that merge, the "8.8" leg has been silently running against 8.10-SNAPSHOT, and an upstream change to that snapshot broke compatibility, failing the leg and skipping the whole release.This PR parameterizes the image the same way
8.9's compose file already does, restoring an actual 8.8 test target and removing the accidental Renovate bump surface going forward.Verified locally:
docker compose configinassets/c8/8.8resolvesimage: camunda/camunda:8.8.36by default, andCAMUNDA_VERSION=8.8 docker compose configresolvesimage: camunda/camunda:8.8(matching the CI matrix override), analogous toassets/c8/8.9's existing behavior.Generated by Claude Code
Update: while this PR was open (and still in draft), Renovate opened and merged PR #543, bumping the
camunda/camundadocker tag onmainfrom8.10-SNAPSHOTto8.11-SNAPSHOT— the exact same kind of accidental bump of a fixed test-matrix pin that PR #500 caused originally, this time hitting the merge-conflict-resolved version of this branch instead of a merged tag. That's the second time Renovate has auto-bumped this pin.Parameterizing the image as
${CAMUNDA_VERSION}(this PR's main change) removes the literal Docker tag Renovate's docker-compose manager was bumping, butCAMUNDA_VERSIONis still a literal version string inassets/c8/8.8/.envandassets/c8/8.9/.env, which could plausibly become the next attack surface for an auto-bump. As defensive insurance, this PR now also adds apackageRulesentry to.github/renovate.jsondisabling Renovate updates forassets/c8/8.8/**andassets/c8/8.9/**, so this pin can't be silently moved again by any current or future Renovate manager.