# ci\(relay\): deploy labeled PRs to relay preview stages · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/ea5dea29556a9d8a66f02d8da33002f57ff87a1d)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: ea5dea29556a9d8a66f02d8da33002f57ff87a1d

Requested commit: ea5dea29556a9d8a66f02d8da33002f57ff87a1d

Commit: ea5dea29556a9d8a66f02d8da33002f57ff87a1d

Tree: 1f4c0be6a8d765590d2e51c10112b7bbf6b661bd

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
ci(relay): deploy labeled PRs to relay preview stages

Relay changes were only testable by deploying prod or a personal stage, so
PR changes to the relay went unexercised until merge. Labeling a same-repo
PR relay:preview now deploys stage pr-<n> behind the relay-preview
environment's reviewer gate. Teardown runs from the default branch on unlabel
or close, with no PR code and no reviewer wait, then sweeps managed tunnels and
their CNAMEs, which Alchemy does not track. A nightly job retries teardown for
closed labeled PRs. Dry-run sweep by default; refuses non-pr-<n> stages.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

```

## Parents

- [52c2b38ea41ee2271f5aca527009d36d25432689](https://git.cafe/pingdotgg/t3code/commit/52c2b38ea41ee2271f5aca527009d36d25432689?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/ea5dea29556a9d8a66f02d8da33002f57ff87a1d?format=markdown)
