Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.slipway.sh/llms.txt

Use this file to discover all available pages before exploring further.

A deployment carries a trigger field that records what kicked it off.
TriggerSourceBehavior
pushGitHub push to the default branchBuilds and deploys. Supersedes any healthy default-branch deployment when it reaches healthy.
pull_requestGitHub PR opened / synchronizedBuilds and deploys to a stable PR hostname (<service>-pr-<n>.<apps-base>). On PR close, every deployment for that PR is torn down.
manualUI button — “Deploy this commit” or “Redeploy”Deploys an explicit commit, with an optional TTL. Always uses a randomized subdomain (<short-id>-<rand>).

Push deployments

Every push to the default branch creates a deployment. If a deployment for the same branch is already in flight, slipway cancels it before starting the new one — the user’s latest commit always wins.

PR deployments

PR deployments use a stable subdomain (pr-<n>) so reviewers don’t have to update bookmarks every time you push to a PR. Across commits to the same PR, the hostname stays the same; nginx-ingress hands it over to the newest tenant namespace at cutover. slipway also posts (or updates) a comment in the PR thread with the live URL — see PR comments. You can disable comments per repo. When the PR is closed, slipway tears down every deployment associated with that PR (including in-flight ones), and updates the PR comment one last time to reflect that the preview is gone.

Manual deployments

The UI offers two manual deploy actions:
  • Redeploy this commit — re-runs the orchestration for an existing commit. Same trigger, no TTL.
  • Deploy ephemeral — same, but with a TTL. The TTL clock starts when the deployment reaches healthy, not when it was created, so a slow build doesn’t eat into your preview window.
Manual deploys are scoped to the default branch. The UI does not let you pick another branch — push-to-default and open PRs are the supported flows for non-default branches.

What stops a deployment

  • Supersession. A newer commit for the same branch or PR cancels any non-terminal deployment for that logical thing.
  • PR close. A pull_request.closed webhook tears down every deployment for that PR.
  • Manual cancel. The cancel button on the deployment detail page.
  • Master restart. Anything in-flight at the time is marked failed with reason abandoned: master restarted while this deployment was in flight.