A deployment carries aDocumentation Index
Fetch the complete documentation index at: https://docs.slipway.sh/llms.txt
Use this file to discover all available pages before exploring further.
trigger field that records what kicked it off.
| Trigger | Source | Behavior |
|---|---|---|
push | GitHub push to the default branch | Builds and deploys. Supersedes any healthy default-branch deployment when it reaches healthy. |
pull_request | GitHub PR opened / synchronized | Builds and deploys to a stable PR hostname (<service>-pr-<n>.<apps-base>). On PR close, every deployment for that PR is torn down. |
manual | UI 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.
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.closedwebhook 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
failedwith reasonabandoned: master restarted while this deployment was in flight.