Skip to content
Cyril Rohr edited this page Mar 13, 2026 · 7 revisions

When you add the configured trigger label to a pull request:

  • a GitHub Actions workflow runs on the PR commit
  • PullPreview provisions or restores an instance on the configured provider
  • PullPreview bootstraps the runtime required by the selected deployment target
  • app files are synced to the instance as needed
  • the deployment runs
  • a PR status comment is created or updated
  • a GitHub job summary is written with the preview URL and SSH details

The deployment step differs by target:

  • compose: PullPreview renders Compose on the runner and deploys it against the remote Docker engine via Docker context.
  • helm: PullPreview bootstraps k3s, deploys a Helm release named app into a dedicated namespace, and exposes it through a PullPreview-managed Caddy Deployment.

After first deployment:

  • pushes to the PR branch trigger redeploys
  • removing the trigger label destroys the preview
  • closing or merging the PR destroys the preview
  • scheduled cleanup respects ttl

On successful deploy:

  • the preview URL appears in PR comments and the job summary
  • action outputs are written
  • heartbeat logs include the preview URL, SSH command, and authorized users

On destroy:

  • the PR comment is updated to show destroy progress or result
  • the preview instance is terminated

Clone this wiki locally