Skip to content

Add auto-sync workflow for default seid node configs#508

Open
alexander-sei wants to merge 9 commits intomainfrom
feat/sync-default-configs-workflow
Open

Add auto-sync workflow for default seid node configs#508
alexander-sei wants to merge 9 commits intomainfrom
feat/sync-default-configs-workflow

Conversation

@alexander-sei
Copy link
Copy Markdown
Collaborator

What is the purpose of the change?

Add new content: a GitHub workflow that keeps the documented default app.toml, config.toml, and client.toml in sync with whatever seid init actually produces in the latest tagged release. Previously the Node Operators Guide and the Node Operations landing page only had hand-curated, drift-prone snippets.

Describe the changes to the documentation

  • New workflow .github/workflows/sync-default-configs.yml — clones sei-protocol/sei-chain at its latest GitHub release tag, builds seid via make install, runs seid init docs-example --chain-id pacific-1, regenerates the docs page, and opens a PR if anything changed.
    • Triggers: workflow_dispatch (with optional sei_version override), weekly schedule (Mon 06:00 UTC), and repository_dispatch of type sei-chain-release (so sei-chain can poke this on cut).
  • New script scripts/sync-default-configs.mjs — zero-dep Node ESM that reads ~/.sei/config/{app,config,client}.toml, generates a folder tree, and replaces marker blocks (<!-- AUTO-GENERATED:NAME:START/END -->) in the MDX. Idempotent — re-running with the same inputs produces zero diff.
  • New page content/node/default-configs.mdx — canonical, auto-generated reference. Shipping with the populated v6.4.4 contents (a05b00b) so the page is useful from day one. Hand-written prose lives outside the markers and is preserved across runs.
  • Cross-links added from content/node/node-operators.mdx and the content/node/index.mdx Node Resources card so readers can find the canonical defaults from the existing guides.
  • Nav entry added to content/node/_meta.js.

Notes

Tested end-to-end on this branch before opening this PR:

  1. Local — built seid v6.4.4 via make install, ran seid init, ran the script. Generated the full 1303-line MDX. Verified idempotent (second run = zero diff). Caught a bug along the way (an embedded today date would have caused weekly no-op PRs) and fixed it in 819df79.
  2. CI — temporarily added a push: trigger on this branch (3978cfa) to exercise the workflow before merging. Run 25460404106 passed in 3m43s; the bot opened #507, which has been squash-merged into this branch (875be28). The temporary trigger has been removed (20e7daa).

Two repo settings need to be on for the post-merge schedule/dispatch runs to open PRs:

  1. Settings → Actions → General → "Allow GitHub Actions to create and approve pull requests" → on.
  2. Settings → Actions → General → Workflow permissions → "Read and write permissions".

To kick off the next sync after merge: Actions tab → "Sync default seid configs" → Run workflow.

🤖 Generated with Claude Code

alexander-sei and others added 8 commits May 6, 2026 22:47
Builds the latest seid release in CI, runs `seid init`, and regenerates
content/node/default-configs.mdx with the unmodified app.toml,
config.toml, client.toml, and folder tree. Opens a PR if anything
changed. Triggers: weekly schedule, manual dispatch (with optional
version override), and repository_dispatch from sei-chain releases.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Embedding today's date caused the weekly cron to open a no-op PR every
Monday. The metadata now only changes when SEI_VERSION or SEI_COMMIT
change. Git history is the source of truth for "last synced".

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Lets us exercise the full workflow end-to-end on the feature branch
before merging. To be reverted once we have one green run.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
When exercised via a push to a feature branch, peter-evans/create-pull-request
previously failed with a modify/delete cherry-pick conflict because main
didn't yet contain default-configs.mdx. Make the base dynamic: feat
branch in test mode, main everywhere else.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
End-to-end test on feat/sync-default-configs-workflow passed (run
25460404106): seid v6.4.4 built, configs regenerated, bot PR #507
opened. Reverting the test scaffolding so the workflow is back to its
production trigger set (workflow_dispatch + weekly cron + repository_dispatch).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: alexander-sei <184418786+alexander-sei@users.noreply.github.com>
@alexander-sei alexander-sei requested a review from a team as a code owner May 6, 2026 21:36
The workflow already supports manual dispatch via workflow_dispatch
(with optional version override) plus the weekly schedule. The
repository_dispatch path required wiring sei-chain to send events,
which we don't have set up. Trim it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant