fix(ci): point the devnet deploy at the app-chart values files - #378
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #378 +/- ##
=======================================
Coverage ? 33.86%
=======================================
Files ? 163
Lines ? 12610
Branches ? 0
=======================================
Hits ? 4271
Misses ? 7999
Partials ? 340
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
shibaeff
approved these changes
Aug 20, 2026
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.
Summary
Points the devnet deploy at the app-chart values files.
canton-indexer,canton-middlewareandcanton-middleware-apiare all managed by ArgoCD now, so the legacydefinitions/canton/validator-dev1/*.ymlblocks this wrote to areenabled: falseand rendernothing.
Nothing has been lost yet — no deploy has run since they migrated — but the next one would have
been a silent no-op for all three.
The table needs three fields
None is derivable from the others:
canton-middleware's Deployment iscanton-bridge-relayer, andcanton-middleware-api's image iscanton-erc20-api. A folder-name-only table would write nothing for those two.The image is one string in this layout, not
repository+tag, so theyqexpression changes aswell as the path.
The gate script
detect-config-changes.shreads the deployed tag from each values file and requires all three toagree. It now extracts the tag from the image string, and only trusts it when the repository is the
one expected and a tag is actually present. That second condition matters:
${image%:*}returns the whole string when there is no colon, so an untagged image would otherwise be read as a
tag.
The added assert
Each
yqwrite is checked to have touched exactly one line. These three values files embed aconfig file verbatim inside an ExternalSecret, complete with external-secrets
{{ }}placeholders.A
yqreformat there changes the rendered Secret and would pass the infra repo's CI unnoticed —yamllintskipsclusters/**/values.yamlandkubeconformskipsvalues.yaml.Tested
With
yqv4.53.6 and the real repos:nullyqround-trips all three files touching only the image lineliteral
nullconfig_changed=falseanother repository — with accurate reason text in the PR comment
bash -nNot tested locally: secrets, the GraphQL signed commit,
gh pr create,--automerge, and the APIread-back, which needs the branch to exist. Worth watching the first run.
One suggestion, deliberately not in this PR
The table now lives in two files with a "keep in sync" comment. Today's incident was a
two-places-must-agree failure. A single shared file both read would remove the class — happy to
follow up if you'd like it.