Skip to content
Castellan
Steward's icon

How-to · Steward

Read as

Choosing what the Steward looks after

Pick the repositories the Steward looks after from those Reeve found, say whether each may be merged and released, and read the Your repositories table.

Article
1302
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).

Nothing is looked after until you pick it#

The Steward starts with no repositories. It offers the ones it could look after, and you pick them.

Found on this PC#

Found on this PC, on the Steward's page, lists your repositories that:

It leaves out the ones the Steward looks after already, and the ones you told Reeve to Leave alone. The list is kept for an hour; Look again looks now.

Beside each repository are two ticks, both off unless you tick them:

  • Merge my ready PRs: the Steward merges your pull requests to it once they're ready. Off, they're listed and left to you. See How the Steward merges pull requests.
  • Release each new version: when its branch has a version with no GitHub release yet, the Steward releases it. See How the Steward releases.

Then:

  • Look after takes on that one repository.
  • To take on several in one go, tick the box beside each one (or All), and choose Look after the picked. Each keeps its own two ticks.

What Look after fills in#

It reads the repository's clone, at its branch's tip, and fills in:

WhatFilled in with
How to test itnpm run typecheck && npm test, when package.json has those scripts; cargo test for Rust; go test ./... for Go; dotnet test on its unit tests for .NET.
The files its version is inpackage.json and package-lock.json; a src/*.ts file with the same version: 'x.y.z' or VERSION = 'x.y.z'; a .csproj or Directory.Build.props with <VersionPrefix>.
How to release it, if you ticked Release each new versionIts own npm run release, when package.json has a release script; otherwise tag, a GitHub release the Steward makes itself.

Where the list lives#

The repository goes into Castellan's Settings > Repositories, the one list that every developer agent reads. Change a repository, or stop the Steward looking after it, there. See Your own repositories.

Each field in that list, as the Steward uses it:

Castellan's fieldWhat the Steward does with it
RepositoryThe GitHub repository, as owner/name. The Steward looks after only repositories that have one.
CheckoutYour clone. The Steward fetches in it and makes worktrees of it in its work folder; it never changes your working tree.
BranchWhere pull requests go, and where releases come from.
TestsRun in a worktree of a pull request before it merges, when GitHub runs no checks on it. With none, such a pull request waits for you.
Version filesWhere the version is read, and where a catch-up sets a new one.
Releasetag, or a command. Empty: never released.
The Steward merges ready pull requestsThe same as Merge my ready PRs.

What the Steward won't look after#

  • A repository with no GitHub repository given: it has no pull requests or releases for the Steward to see.
  • Castellan's own repositories. Look after, claim-version and saving the setting each refuse one, and say why.

A repository of yours that shares a name with one of Castellan's agents is looked after under an id of its own, such as porter-2.

The Your repositories table#

ColumnWhat it says
RepositoryIts name, linked to GitHub, and two badges for what it may do (below).
CheckoutYour clone's path, the branch it's on, and how many files are changed there; "no checkout at" when the folder is gone.
Branch on originThe branch on GitHub, with its version and its head commit.
Latest releaseIts newest GitHub release, and whether the branch's version is still to be released.
Release PCWhich PC has its turn to merge and release it. See The Steward on several PCs.
NotesAnything to know about it, when there is something.

Under a repository with open pull requests is a row for each: its title and branch, whose it is (team for your team's), what it asks for once merged, and badges for its checks (checks passing, pending, failing, or none when GitHub runs none), whether it merges (mergeable or conflicting), draft, and into another branch than the repository's.

The badges:

  • merges or PRs left to you: whether the Steward merges its ready pull requests.
  • releases or not released: whether it has a way to release this repository.

The table is made again after each round or button (from a fresh look at GitHub), on Refresh, and when you open the page after 10 minutes with no round. Opening the page doesn't ask GitHub anything while the rounds run.

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 1302. Every version of Steward, and what changed in it, is in its release notes.