Skip to content

Add workflow to auto-update testnet settings#945

Merged
leighmcculloch merged 1 commit into
mainfrom
auto-update-config-settings
Jun 17, 2026
Merged

Add workflow to auto-update testnet settings#945
leighmcculloch merged 1 commit into
mainfrom
auto-update-config-settings

Conversation

@leighmcculloch

@leighmcculloch leighmcculloch commented Jun 17, 2026

Copy link
Copy Markdown
Member

What

Add a scheduled GitHub Actions workflow and a supporting .scripts/update-config-settings script 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 a ConfigUpgradeSet via stellar network settings and writes them to the testnet.json for 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

@github-project-automation github-project-automation Bot moved this to Backlog (Not Ready) in DevX Jun 17, 2026
Comment thread .github/workflows/update-config-settings-test.yml Fixed
@leighmcculloch leighmcculloch requested a review from fnando June 17, 2026 06:33
@leighmcculloch leighmcculloch marked this pull request as ready for review June 17, 2026 06:34
Copilot AI review requested due to automatic review settings June 17, 2026 06:34
@leighmcculloch leighmcculloch force-pushed the auto-update-config-settings branch from 69b8ebd to 4938a57 Compare June 17, 2026 06:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ 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-settings to fetch the current testnet protocol version and regenerate local/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.

Comment thread .scripts/update-config-settings Outdated
Comment thread .scripts/update-config-settings Outdated
Comment thread .scripts/update-config-settings Outdated
Comment thread local/core/etc/config-settings/README.md Outdated
@leighmcculloch leighmcculloch force-pushed the auto-update-config-settings branch from 4938a57 to eb2cbcb Compare June 17, 2026 06:43

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .github/workflows/update-config-settings.yml
@leighmcculloch leighmcculloch force-pushed the auto-update-config-settings branch from eb2cbcb to 4dabd31 Compare June 17, 2026 06:45

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .scripts/update-config-settings Outdated
@leighmcculloch leighmcculloch force-pushed the auto-update-config-settings branch 3 times, most recently from cbe996b to f897b7a Compare June 17, 2026 10:26
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.
@leighmcculloch leighmcculloch force-pushed the auto-update-config-settings branch from f897b7a to 022d2bf Compare June 17, 2026 10:49
@leighmcculloch leighmcculloch requested review from sisuresh and removed request for fnando June 17, 2026 12:09
@leighmcculloch leighmcculloch enabled auto-merge (squash) June 17, 2026 13:59

@sisuresh sisuresh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea!

@leighmcculloch leighmcculloch merged commit 16a5741 into main Jun 17, 2026
101 checks passed
@leighmcculloch leighmcculloch deleted the auto-update-config-settings branch June 17, 2026 17:58
@github-project-automation github-project-automation Bot moved this from Backlog (Not Ready) to Done in DevX Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add scheduled CI job to auto-update testnet config settings JSON files

4 participants