Add workflow to auto-update testnet settings#945
Conversation
69b8ebd to
4938a57
Compare
There was a problem hiding this comment.
⚠️ Not ready to approve
The update script has a correctness/robustness issue around protocol parsing and the implementation/documentation mismatch about preserving entry order needs to be resolved.
Pull request overview
This PR adds automation to keep the repo’s hardcoded Soroban testnet config settings in sync with live testnet by introducing a scheduled GitHub Actions workflow plus a helper script, and adds a CI workflow to sanity-check the generated output format.
Changes:
- Add
.scripts/update-config-settingsto fetch the current testnet protocol version and regeneratelocal/core/etc/config-settings/p{N}/testnet.json. - Add a scheduled workflow that runs the script and opens a PR when the committed settings drift.
- Add a PR/push workflow that runs the script and validates the output encodes as a
ConfigUpgradeSet.
File summaries
| File | Description |
|---|---|
local/core/etc/config-settings/README.md |
Documents the new automation for keeping testnet settings up to date. |
.scripts/update-config-settings |
Implements fetching protocol version + regenerating the protocol-scoped testnet.json. |
.github/workflows/update-config-settings.yml |
Scheduled workflow to regenerate settings and open a PR when changes occur. |
.github/workflows/update-config-settings-test.yml |
CI workflow to validate the script’s generated JSON encodes as a ConfigUpgradeSet. |
Copilot's findings
- Files reviewed: 4/4 changed files
- Comments generated: 4
Note
Your feedback helps us improve the quality of this feature.
Please use 👍 or 👎 to tell us whether this assessment is correct.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4938a57 to
eb2cbcb
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 69b8ebdc33
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
eb2cbcb to
4dabd31
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4dabd31940
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
cbe996b to
f897b7a
Compare
Add a scheduled GitHub Actions workflow and a supporting .scripts/update-config-settings script that regenerate, for the protocol version testnet is currently running, both testnet.json (from `stellar network settings`) and unlimited.json (testnet.json with the protocol's unlimited overrides applied), sorted for stable output, and open a PR when the committed values drift. A protocol the repo has no directory for yet is created and seeded from the most recent prior protocol.
f897b7a to
022d2bf
Compare
What
Add a scheduled GitHub Actions workflow and a supporting
.scripts/update-config-settingsscript that keep the testnet Soroban config settings (local/core/etc/config-settings/p{N}/testnet.json) in sync with the live testnet network. The script fetches testnet's current upgradeable config settings as aConfigUpgradeSetviastellar network settingsand writes them to thetestnet.jsonfor the protocol version testnet is currently running. The scheduled workflow opens a pull request whenever the committed values have drifted.Why
These files let local mode mirror testnet's settings without contacting the network, but they drift out of date and have historically required one-off manual update PRs (#536, #578, #733, #901), making this a recurring maintenance burden. Automating the refresh removes that manual work, and because an opened PR is itself the drift signal, it also provides the up-to-date detection mechanism requested in #715.
Close #915