Skip to content
Castellan
Steward's icon

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#

SettingDefaultWhat it does
Source controlAutomaticHow 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.
TeamEmpty: the account gh is signed in asThe GitHub accounts whose pull requests the Steward merges. Named accounts are the whole team. A GitHub App as app/<name>.
Work folder%USERPROFILE%\.steward\workWhere the Steward makes its worktrees, one folder per repository.
Release right after mergingOffOn: every merge is followed by a release. Off: releasing is a step of its own.
Checked at once2How many repositories are tested, merged or released at the same time, 1 to 10.
Tests only what a change reachesOnA 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 itselfOffOn: 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 branchOnReady pull requests that wait only because their branch moved on are caught up. See Caught up, when only its branch moved.
Merges ready PRs togetherOnReady pull requests with no checks on GitHub are stacked, tested once, and merged together. Off: one at a time.
Waits for the Aletaster's tastingOnUsed only where the Aletaster is installed. Without it, releases go out without a tasting, and say so.
A round every10 minutesHow 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 releaseCastellan's update check, and the Aletaster's Run nowLocal pages told after a release, as each page's own button would.
AlarmsOn, with a notification; 24 hoursWhat 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 SDKDOTNET_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:

FileWhat's in it
settings.jsonIts settings.
stages.logOne 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.jsonThe last round or button, with its log: the page's Last stage.
alarms.jsonThe alarms: open, dismissed and lately cleared.
version-claims.jsonThe versions claimed and not yet landed.
repos-found.jsonThe repositories Reeve found, and whether gh's account can push to each: Found on this PC.
pr-checks.jsonWhat testing each pull request here said, by its head commit.
round-failed.jsonEach repository's release that failed, by commit: the rounds don't try it again.
turns.jsonEach repository's release PC, as last seen.
unsafe-updates.jsonEach update of the Steward that was rolled back, and refused until you allow it.
work\Its worktrees, and the packages they share.
app\, app.prevThe installed program, and the version before the last update.
duty.json, server.json, serve.logOn duty or not; the running page's process and port; its output.

Environment variables#

VariableWhat it does
STEWARD_HOMEKeeps the Steward's data in another folder.
STEWARD_PORTMoves its page to another port.

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.