From a9b6d01281b1ebd57f81d7b366920bb785cbfabd Mon Sep 17 00:00:00 2001 From: nicosampler Date: Wed, 2 Sep 2026 10:06:52 -0300 Subject: [PATCH] ci: turn the Renovate PR body into a step-by-step guide The note said to run start locally and left the rest to memory. It is now the whole sequence: get the branch, clear what is running, point the local config at the new version, start it, check the probe, add the changeset. Two of those steps exist because the obvious command does the wrong thing. `init` never overwrites an existing config, so without --force the reviewer tests the old version. And Splice pins container_name on every service, so those names are global to Docker and a leftover from an earlier run stops the start with a name conflict. --- .changeset/wild-lilies-tell.md | 2 ++ renovate.json | 27 +++++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 .changeset/wild-lilies-tell.md diff --git a/.changeset/wild-lilies-tell.md b/.changeset/wild-lilies-tell.md new file mode 100644 index 0000000..a845151 --- /dev/null +++ b/.changeset/wild-lilies-tell.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/renovate.json b/renovate.json index 012d517..a67df2a 100644 --- a/renovate.json +++ b/renovate.json @@ -25,14 +25,25 @@ "matchDepNames": ["canton-network/splice"], "allowedVersions": "/^\\d+\\.\\d+\\.\\d+$/", "prBodyNotes": [ - "### Before merging", - "`changeset-check` fails until this PR has a changeset. Renovate cannot add one itself, so:", - "```bash", - "git fetch origin {{{branchName}}} && git switch {{{branchName}}}", - "npx changeset # minor, summary: \"Update Splice to {{{newValue}}}\"", - "git add .changeset && git commit -m \"chore: add changeset for Splice {{{newValue}}}\" && git push", - "```", - "CI checks that Splice {{{newValue}}} still works with this wrapper, but it only reads files. Run `start` locally before merging to confirm the stack comes up." + "### How to check this and merge it", + "CI ran `validate` on this branch, so a service, profile or nginx route target that {{{newValue}}} moved is already red above. That check only reads files, which is why the steps below start the stack for real.", + "**1. Get the branch**", + "```bash\ngit fetch origin {{{branchName}}}\ngit switch {{{branchName}}}\nnpm ci\n```", + "**2. Clear what is running**", + "Splice gives every container a fixed name (`postgres`, `canton`, `nginx`, and so on), so those names are global to Docker. Anything left from an earlier run blocks the start with `Conflict. The container name \"/postgres\" is already in use`. The second command removes those leftovers and nothing else.", + "```bash\nnpm run reset\ndocker ps -a --filter 'name=^/(postgres|canton|splice|nginx|console|swagger-ui|multi-sync-startup|multi-sync-ready|scan-web-ui|sv-web-ui|wallet-web-ui-sv|wallet-web-ui-app-user|ans-web-ui-app-user|wallet-web-ui-app-provider|ans-web-ui-app-provider)$' -q | xargs -r docker rm -f\n```", + "**3. Point your own config at {{{newValue}}}**", + "Renovate bumps the template. Your `canton-barebones.config.json` is a copy `init` made once and never overwrites, so without `--force` you would keep testing the old version. If you have local edits in that file or in `splice-localnet-overrides.yaml`, change `splice.tag` by hand instead: `--force` overwrites both.", + "```bash\nnpm run init -- --force\n```", + "**4. Start it**", + "```bash\nnpm run validate # must say {{{newValue}}} (compatible)\nnpm run start # first run pulls the {{{newValue}}} images, give it a few minutes\n```", + "**5. Confirm it is serving**", + "A running container is not the same as a live participant, so check the probe, not just the status.", + "```bash\nnpm run status\ncurl -sf http://localhost:2903/api/validator/readyz && echo \"app-user ready\"\n```", + "**6. Add the changeset**", + "`changeset-check` stays red until this PR has one, and Renovate cannot add it itself.", + "```bash\nnpx changeset # minor, summary: \"Update Splice to {{{newValue}}}\"\ngit add .changeset && git commit -m \"chore: add changeset for Splice {{{newValue}}}\" && git push\n```", + "When you are done, `npm run stop` keeps the volumes and `npm run reset` wipes them." ] } ]