Concepts
Previews and runs
The board builds and runs a ticket's branch from its worktree, so you can try the change before you merge it.
Runs
A run is a process the board starts from a ticket’s worktree. There are two types:
- a preview answers on a port: the board checks its health path and puts its link on the ticket;
- a job is a background worker with no link, such as a queue worker or a watcher.
Runs are set up per repository, in the project’s settings under Runs (agents can add and change them
too). Each has a name, an install, a build and a start command, environment variables, and for a preview
a port (auto, or a fixed one from 47101 to 47199) and a health path. A run can start from a fresh copy
of the live board’s data instead of the real data.
Starting one
From the ticket’s Runs card (or an agent’s start_run), the board, in the background:
- installs, when the lockfile changed;
- builds;
- copies the live data, when the run asks for it;
- starts it, on the first free port from 47101 for a preview.
The card follows it through building, starting and running, or failed with the last lines of its log.
Logs stay in the worktree: data/preview/logs/ for a run that copies the data, else
data/runs/<name>/logs/.
A preview of a branch of CrossBoard itself runs the build of that branch on its own copy of the data, with sign-in off, on loopback only.
When runs stop
A run stops by itself when the ticket’s PR is merged, the ticket moves to done or cancelled or is archived, its workspace or repository is removed, or the board stops. Nothing restarts when the board starts again.
The preview limit
The board runs at most as many runs at once as your preview limit: 8 by default, 1 to 32, set on the project’s Previews page or in Settings. A start beyond it is refused, naming the limit.
The Previews page
A project’s Previews page lists every preview of its tickets, running or not, one stage at a time. From there you can open, stop or stop all. It can also stop a server an agent started itself from a ticket’s worktree, when the board can tell it runs from there.