Runner base workflow: skipped until a self-hosted runner exists
Its job needs a self-hosted runner labelled docker, and none is registered, so every run waited a day and a half and then failed into the inbox. It now runs only when the repository variable RUNNER_BASE_SELF_HOSTED is "true". The base is built by hand meanwhile.
2 files+10−20/2 viewed
| 16 | 16 | # node scripts/deploy.mjs build-base | |
| 17 | 17 | # | |
| 18 | 18 | # and commit services/runner/base.json. docs/DEPLOYING.md explains both. | |
| 19 | + | # Once a runner is registered, set the repository variable | |
| 20 | + | # RUNNER_BASE_SELF_HOSTED to "true" to turn this workflow's job on. | |
| 19 | 21 | name: Runner base image | |
| 20 | 22 | ||
| 21 | 23 | on: | |
| 44 | 46 | build: | |
| 45 | 47 | name: Build and push the base | |
| 46 | 48 | runs-on: [self-hosted, docker] | |
| 49 | + | # Skipped until a runner with these labels is registered and the | |
| 50 | + | # repository variable RUNNER_BASE_SELF_HOSTED is "true": without one, | |
| 51 | + | # each run waited in the queue for a day and a half and then failed. | |
| 52 | + | if: ${{ vars.RUNNER_BASE_SELF_HOSTED == 'true' }} | |
| 47 | 53 | environment: production | |
| 48 | 54 | timeout-minutes: 60 | |
| 49 | 55 | steps: |
| 285 | 285 | (`runs-on: [self-hosted, docker]`): g1t's own machines have Docker now, | |
| 286 | 286 | but the base's build downloads from Docker's apt repository over HTTPS, | |
| 287 | 287 | which does not trust a guarded job's egress certificate, so it stays on an | |
| 288 | − | open network. Until a runner is registered, its runs wait for one; run | |
| 289 | − | `build-base` by hand instead. | |
| 288 | + | open network. Its job is skipped until the repository variable | |
| 289 | + | `RUNNER_BASE_SELF_HOSTED` is `true` (set it once a runner is registered; | |
| 290 | + | without one, runs waited in the queue for a day and a half and then | |
| 291 | + | failed); until then run `build-base` by hand. | |
| 290 | 292 | ||
| 291 | 293 | **Sandboxes start from the image.** Cloudflare pulls an image to a | |
| 292 | 294 | machine the first time a sandbox lands there, and keeps it. A smaller base |