Skip to main content

Pull Request Environments

Pull request environments are ephemeral, fully-functional cloud environments that greyhound can spin up for every pull request. They give developers a real deployment — with services, databases, and ingress routing — all tied to the lifecycle of a pull request.

What Are They For?

PR environments let you validate changes in a real cloud environment before merging. Instead of relying on local setups or shared staging, each PR gets its own isolated deployment that you can access via a URL, share with teammates, and test against.

Common use cases:

  • QA and review — reviewers click a link in the PR comment to see the running app
  • Integration testing — verify services work together with real databases and infrastructure
  • Demo and stakeholder feedback — share a live URL with PMs or designers before merging
  • Parallel development — multiple developers work on separate PRs without stepping on each other's environments

The PR Environment Lifecycle

The environment is tied to your pull request from creation to cleanup:

  1. Create — add the deploy label to your PR and greyhound builds images, provisions infrastructure, and posts a comment with service URLs
  2. Explore — access your running services through the links in the PR comment
  3. Update — push new commits and greyhound automatically rebuilds and redeploys
  4. Delete — merge, close, or remove the label and greyhound tears everything down

Environments are also subject to a TTL — if a PR environment sits idle beyond the configured time limit, greyhound's reaper cleans it up automatically.