Review a pull request as a running app

Open the private, running copy of a pull request, check the change in the real app, and read what the console tells you about its state.

A stagelet is a private, running copy of the app at a pull request’s head commit. With it, you review the behavior, not only the diff.

Each pull request deploys on its own when the project deploys on push, the default. A pull request from a fork never deploys on its own: someone with write access must ask for a deploy. Deploys from pull requests lists every way to ask.

Find it

  • On GitHub, the pull request shows a stagely/<account> commit status. Its Details link opens the stagelet’s page in the console. If Stagely refused the deploy, the error status links to the project’s page instead.
  • After a comment command, Stagely’s reply comment links to the same page.
  • In the console, open Stagelets and pick the pull request.

You need to be a member of the account. Ask an admin for an invitation.

Open it

On the stagelet’s page, click Open. The console gives your browser a pass that works once, for 30 seconds. The stagelet opens in a new tab at its private URL.

  • The session belongs to you. It lasts at most one hour. After that, click Open again.
  • Anyone without a pass gets 401, even if they have the URL.
  • If you leave the account, your session ends within about 50 seconds.

Read the page

Each card shows one state, so one problem never hides another.

Card Tells you
Revision Which commit runs, and whether a newer deploy is in progress or failed
App health Whether the app answers its health path, and since when
Machine Whether the stagelet’s machine is ready
Gateway Whether the gateway serves the stagelet, and its host name
Reachability Whether the gateway reaches the app
Expiry When Stagely deletes the stagelet unless someone deploys it again

Below the cards, Operations lists each deploy, reset and delete, newest first. Select one to see its steps and its log.

When something looks wrong

  • The newest deploy failed. Open it under Operations. Read the error and the log of the failed step. If the deploy failed before Start services, the last good build still serves, and the cards show it.
  • You need the latest commit. New commits deploy on their own when the project deploys on push, except on a pull request from a fork. Otherwise, post the comment command, /stagely by default, or click Deploy in the console.
  • The app is in a bad state. Click Reset to restore the last good build on the same machine. A reset does not undo data migrations.

When you’re done

You have nothing to clean up. When the pull request closes or merges, Stagely deletes its stagelet. Stagely removes access first, then deletes the machine. Stagely also deletes a stagelet when the project’s TTL ends after its last deploy.