Skip to main content
A CI runner can be a sandbox like your laptop. It registers for the length of the job, leases what it needs, and deregisters at the end.

Set up

  1. In the console, create a CLI token for CI (Settings → CLI tokens).
  2. In your repository, add it as an Actions secret named ENVLINK_TOKEN.

Workflow

.github/workflows/build.yml

Notes

  • ENVLINK_API and ENVLINK_TOKEN stand in for envctl login, so nothing is written to the runner’s disk.
  • --snapshot ci/<branch> with --restore ci/<branch>,ci/main starts each run from the last one on the branch, or from main, so the first sync sends only what changed.
  • Labels make cleanup exact, even when a step fails.
  • envctl sandbox down --forget deregisters the runner and takes it off the tailnet.