Reference · Steward
Read as
The Steward's settings and files
Every setting on the Steward's page, with its default and what it changes, where the Steward keeps its files, and the environment variables it reads.
- Article
- 1309
- Applies to
- Steward 0.35.0
- Last reviewed
- For
- For developers
Written for Steward 0.35.0. Steward is at 0.35.1 now (1 small release since: what changed).
Where the settings are#
Choose Settings in the title bar of the Steward's page. They're kept in %USERPROFILE%\.steward\settings.json, and used from the next round or button on.
Your repositories, and what the Steward may do in each, are in Castellan's Settings > Repositories, not here. See Choosing what the Steward looks after.
The settings#
| Setting | Default | What it does |
|---|---|---|
| Source control | Automatic | How the Steward works with each repository. Automatic: GitHub's way (pull requests, GitHub releases) for a repository on GitHub where the GitHub CLI is signed in, and plain git otherwise. Git, for every repository: plain git everywhere, with no pull requests to merge; a release is a v<version> tag pushed to the repository. It offers only what's installed on this PC. |
| Team | Empty: the account gh is signed in as | The GitHub accounts whose pull requests the Steward merges. Named accounts are the whole team. A GitHub App as app/<name>. |
| Work folder | %USERPROFILE%\.steward\work | Where the Steward makes its worktrees, one folder per repository. |
| Release right after merging | Off | On: every merge is followed by a release. Off: releasing is a step of its own. |
| Checked at once | 2 | How many repositories are tested, merged or released at the same time, 1 to 10. |
| Tests only what a change reaches | On | A vouch, and a pull request tested here, run only the test files the change reaches. Off: the whole suite every time. See How the Steward merges pull requests. |
| Merges and releases by itself | Off | On: while on duty, each round merges the ready pull requests and releases the new versions, in the repositories where you allowed each. Off: only when you press a button. |
| Catches PRs up with their branch | On | Ready pull requests that wait only because their branch moved on are caught up. See Caught up, when only its branch moved. |
| Merges ready PRs together | On | Ready pull requests with no checks on GitHub are stacked, tested once, and merged together. Off: one at a time. |
| Waits for the Aletaster's tasting | On | Used only where the Aletaster is installed. Without it, releases go out without a tasting, and say so. |
| A round every | 10 minutes | How often a round comes while on duty, 2 to 240 minutes. Each asks GitHub once, and looks again only at the repositories with something new (and at all of them each hour). |
| Told after a release | Castellan's update check, and the Aletaster's Run now | Local pages told after a release, as each page's own button would. |
| Alarms | On, with a notification; 24 hours | What becomes an alarm, and how you hear of it. See The Steward's alarms. The pages it reads (Castellan's, Reeve's) are local addresses, filled in already. |
| .NET SDK | DOTNET_ROOT's, else Program Files' | A folder with dotnet.exe and an SDK, for a .NET repository's tests and releases. |
Its files#
All in %USERPROFILE%\.steward:
| File | What's in it |
|---|---|
settings.json | Its settings. |
stages.log | One line for every round or button that did something. Rotated at 1 MB, the last two kept as stages.1.log and stages.2.log. |
last-stage.json | The last round or button, with its log: the page's Last stage. |
alarms.json | The alarms: open, dismissed and lately cleared. |
version-claims.json | The versions claimed and not yet landed. |
repos-found.json | The repositories Reeve found, and whether gh's account can push to each: Found on this PC. |
pr-checks.json | What testing each pull request here said, by its head commit. |
round-failed.json | Each repository's release that failed, by commit: the rounds don't try it again. |
turns.json | Each repository's release PC, as last seen. |
unsafe-updates.json | Each update of the Steward that was rolled back, and refused until you allow it. |
work\ | Its worktrees, and the packages they share. |
app\, app.prev | The installed program, and the version before the last update. |
duty.json, server.json, serve.log | On duty or not; the running page's process and port; its output. |
Environment variables#
| Variable | What it does |
|---|---|
STEWARD_HOME | Keeps the Steward's data in another folder. |
STEWARD_PORT | Moves its page to another port. |
Related articles
Is this page right?
If something on it is wrong or out of date, tell us and we'll fix the page.
Still stuck? Write to support@castellan-software.com and mention article 1309. Every version of Steward, and what changed in it, is in its release notes.