Contributing

Trying your changes

Rift drives the host's Docker, Git, ports and keychain, so most commands only make sense on your machine, not inside the development container.


Try a change for real

Build a binary, and run it from any project:

make build
cd ~/Sites/myapp
~/Sites/rift/builds/rift up

A built binary touches your machine

builds/rift starts and stops real containers, binds ports 80 and 443, and creates the shared router other projects on your machine depend on. Try it on a project you can afford to restart.

make rift is enough for commands that do not touch the host, such as list or --help:

make rift ARGS="up --help"

Try the dashboard

rift dash needs a real terminal and the host's Docker, so try it with the built binary too.

To try rift-dash alone, without Docker or a project, point it at the stand-in rift its tests use, which answers with the contract fixture:

cd dash/internal/rift
RIFT_COMMAND='["sh","testdata/fake-rift"]' ../../../builds/rift-dash

After a visible change to the dashboard, run make demo to record the demo again from docker/demo/dash.tape. The README and this site both show that recording.

Previous
Development commands