syntaqxThe desktop app runs jobs sandboxed on Windows, macOS and Linux. Its Sandboxed choice, the default, is now g1t-runner's sandbox launcher on every computer, where on Windows and macOS it said a sandbox isn't available on this computer yet and ran nothing. A few seconds after g1t opens, the app runs `g1t-runner sandbox up --json` with its own copy of the runner and its state in the app's data folder, its URL, the computer's name and the `desktop` label (the launcher adds `-linux` and `-windows` and the OS labels itself), and the registration token from the site the first time only: the launcher keeps the registration after that, across updates too, and a workspace's sandbox is remembered (sandbox-registration.json), so choosing Sandboxed again after another way of running jobs needs no new token. Linux jobs run in a Linux VM of the runner's own (WSL 2 on Windows, vfkit on macOS, Sysbox or QEMU with KVM on Linux), and on Windows 11 Pro and up Windows jobs run each in a Windows Sandbox. While it runs, the app asks `sandbox status --json` every eight seconds, on a thread of its own, for the tray, settings and the site. Quitting or Stop runs `sandbox down`; choosing another way of running jobs waits for the job and runs `down --drain`; moving to another workspace removes the sandbox (`down --delete`) and makes it again. A new runner release is put in place while nothing runs, and the sandbox then takes the release's image with `sandbox update`; every six hours, `update` also runs on an idle sandbox, which does nothing when its image is the newest.18ef42eHistory
- ..
- background-step.yml
- bare-event-with-settings.yml
- branches-and-ignore.yml
- call-input-type-missing.yml
- call-input-unexpected-property.yml
- call-output-value-missing.yml
- call-secret-unknown-key.yml
- caller-job-env.yml
- caller-secrets-word.yml
- concurrency-unknown.yml
- concurrency-without-group.yml
- container-unknown.yml
- credentials-unknown.yml
- defaults-run-unknown.yml
- defaults-unknown.yml
- dispatch-input-unknown-key.yml
- dispatch-unknown-key.yml
- environment-unknown.yml
- environment-without-name.yml
- g1t-not-mapping.yml
- g1t-not-under-strategy.yml
- job-id-case-duplicate.yml
- job-id-digit.yml
- job-id-dot.yml
- job-id-reserved.yml
- merge-key-list.yml
- merge-key.yml
- on-missing.yml
- permission-metadata.yml
- permission-unknown.yml
- push-branch-typo.yml
- push-inputs.yml
- push-types.yml
- root-true-key.yml
- runs-on-mapping-unknown.yml
- runs-on-missing.yml
- schedule-not-list.yml
- schedule-without-cron.yml
- service-unknown.yml
- shell-on-action-step.yml
- step-id-duplicate.yml
- step-id-invalid.yml
- step-uses-and-run.yml
- steps-mapping.yml
- strategy-unknown.yml
- unknown-event-in-list.yml
- unknown-event-in-mapping.yml
- unknown-event.yml
- unknown-job-key.yml
- unknown-root-key.yml
- unknown-step-key.yml
- uses-and-runs-on.yml
- uses-and-steps.yml
- wait-step.yml
- with-on-run-step.yml