Workspaces
Look after several CIs from one computer: each workspace has its own sign-ins, control plane and runners, a switcher in the dashboard, and --workspace in commands.
A workspace is one CI you look after from your computer. It has its own sign-ins to its clouds, and through them its own control plane, runners, repositories and settings. Nothing of one workspace shows in another.
With one workspace there is nothing to do: it is called default and is never named. Make a second one when you look after another CI from the same computer: a second company’s, or a client’s.
In the dashboard
The name at the top of the sidebar is the switcher. It lists your workspaces, each with its GitHub organization’s picture once one is connected.
To make one, open the switcher and choose New workspace…. It asks what the workspace is called (AcmeCI). You land on a clean first screen, signed in nowhere: sign in to that CI’s cloud and set it up as you did the first time. The first control plane you set up there gets the workspace’s name.
One dashboard shows all your workspaces. A page’s address says which workspace it is of, so two tabs can show two.
Settings shows the workspace’s id and, when there are other workspaces, Remove this workspace. Removing signs it out and forgets it on this computer. Nothing in its clouds is deleted: its control plane and runners keep working.
In commands
A workspace has an id, made from its name: Acme CI becomes acme-ci. Commands take the id.
superci workspaces list
superci workspaces create "Acme CI" # its id: acme-ci
superci login aws --workspace=acme-ci
superci status --workspace=acme-ciFor a whole terminal, set it once:
export SUPERCI_WORKSPACE=acme-ci
superci jobs listWith several workspaces, a command that names none stops, with nothing done, and lists them. A name that is none of them stops it too. Nothing picks a workspace for you, so a script or a coding agent cannot change the wrong CI by leaving the name out.
superci leave, which deletes what SuperCI made in a cloud, takes the workspace from --workspace on the command itself and never from SUPERCI_WORKSPACE.
superci workspaces update acme-ci --id=acme # another id
superci workspaces delete acme --confirm # signs it out and forgets it hereWhere they are kept
Each workspace is a folder of SuperCI’s on your computer:
~/.superci/workspaces/default/
~/.superci/workspaces/acme-ci/A folder holds that workspace’s sign-ins, readable by you alone. SUPERCI_HOME puts SuperCI’s folder elsewhere.
Coming from 0.13
Before 0.14.0 the sign-ins were in ~/.superci/sign-ins.json. 0.14.0 does not read that file. Sign in again with superci login, or move the file:
mkdir -p ~/.superci/workspaces/default && mv ~/.superci/sign-ins.json ~/.superci/workspaces/default/Your control plane and runners are not affected either way.