Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

g1t.sh
20 linesCodeBlameRaw

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

Merge the runner sandbox: g1t-runner sandbox up makes a person's own computer a self-hosted runner that nothing a job runs can get out of. Linux jobs run in a Linux VM of the runner's own (a WSL 2 distribution with no host mounts, interop or Docker socket on Windows; vfkit on macOS; Sysbox, or QEMU and KVM, on Linux), each in a fresh container under Sysbox inside it; on Windows 11 Pro and up, Windows jobs each run in a Windows Sandbox discarded after the job. Runners report their isolation, and the Runners page shows it.1# The sandbox in a VM on macOS or Linux (deploy/sandbox/Dockerfile, `vm`):
2# reads its settings from the seed disk the launcher wrote (/dev/vdc),
3# keeps the runner's registration on its own disk (/dev/vdb), and says how
4# it is on the console. Stopping it (the VM shutting down) drains the runner
5# first when the launcher asked for that, so it may take as long as a job.
6[Unit]
7Description=g1t sandbox
8After=network-online.target
9Wants=network-online.target
10
11[Service]
12ExecStart=/usr/local/bin/g1t-runner sandbox guest run --seed /dev/vdc --state-disk /dev/vdb --console /dev/hvc0
13KillMode=mixed
14KillSignal=SIGTERM
15TimeoutStopSec=infinity
16Restart=on-failure
17RestartSec=5
18
19[Install]
20WantedBy=multi-user.target

This file's history is long; its oldest lines are credited to the oldest commit read.