2026-10-18T11:45:28.4578426Z Current runner version: '0.3.5'
2026-10-18T11:45:28.4578456Z Runner name: 'g1t'
2026-10-18T11:45:28.4578467Z ##[group]Operating System
2026-10-18T11:45:28.4578480Z Debian GNU/Linux
2026-10-18T11:45:28.4578487Z 12 (bookworm)
2026-10-18T11:45:28.4578495Z ##[endgroup]
2026-10-18T11:45:28.4578502Z ##[group]Runner Image
2026-10-18T11:45:28.4578522Z Included Software: Node 24, Python 3, Go, Rust
2026-10-18T11:45:28.4578528Z ##[endgroup]
2026-10-18T11:45:28.4578536Z ##[group]Machine
2026-10-18T11:45:28.4578542Z Hosted by g1t
2026-10-18T11:45:28.4578548Z Architecture: X64
2026-10-18T11:45:28.4578554Z CPUs: 2
2026-10-18T11:45:28.4578559Z Memory: 8 GB
2026-10-18T11:45:28.4578565Z ##[endgroup]
2026-10-18T11:45:28.4578570Z ##[group]G1T_TOKEN Permissions
2026-10-18T11:45:28.4578575Z Contents: read
2026-10-18T11:45:28.4578582Z Metadata: read
2026-10-18T11:45:28.4578587Z ##[endgroup]
2026-10-18T11:45:28.4578600Z Secret source: Actions
2026-10-18T11:45:28.4578606Z Prepare workflow directory
2026-10-18T11:45:28.4684397Z Prepare all required actions
2026-10-18T11:45:28.4684426Z Getting action download info
2026-10-18T11:45:28.4690651Z Getting action download info for 'actions/checkout@v5'
2026-10-18T11:45:29.0662719Z Download action repository 'actions/checkout@v5' (SHA:fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09) from g1t
2026-10-18T11:45:29.7268822Z Getting action download info for 'actions/cache@v4'
2026-10-18T11:45:30.4069400Z Download action repository 'actions/cache@v4' (SHA:0057852bfaa89a56745cba8c7296529d2fc39830) from g1t
2026-10-18T11:45:30.8942874Z Complete job name: Check
2026-10-18T11:45:31.3186357Z ##[group]Run actions/checkout@v5
2026-10-18T11:45:31.3186389Z with:
2026-10-18T11:45:31.3186397Z   allow-unsafe-pr-checkout: false
2026-10-18T11:45:31.3186406Z   clean: true
2026-10-18T11:45:31.3186412Z   fetch-depth: 1
2026-10-18T11:45:31.3186419Z   fetch-tags: false
2026-10-18T11:45:31.3186425Z   filter: 
2026-10-18T11:45:31.3186431Z   github-server-url: 
2026-10-18T11:45:31.3186437Z   lfs: false
2026-10-18T11:45:31.3186442Z   path: 
2026-10-18T11:45:31.3186450Z   persist-credentials: true
2026-10-18T11:45:31.3186456Z   ref: 
2026-10-18T11:45:31.3186462Z   repository: flagon-io/g1t
2026-10-18T11:45:31.3186468Z   set-safe-directory: true
2026-10-18T11:45:31.3186473Z   show-progress: true
2026-10-18T11:45:31.3186478Z   sparse-checkout: 
2026-10-18T11:45:31.3186484Z   sparse-checkout-cone-mode: true
2026-10-18T11:45:31.3186490Z   ssh-key: 
2026-10-18T11:45:31.3186496Z   ssh-known-hosts: 
2026-10-18T11:45:31.3188745Z   ssh-strict: true
2026-10-18T11:45:31.3188763Z   ssh-user: git
2026-10-18T11:45:31.3188772Z   submodules: false
2026-10-18T11:45:31.3188812Z   token: ***
2026-10-18T11:45:31.3188818Z env:
2026-10-18T11:45:31.3188824Z   CARGO_TERM_COLOR: never
2026-10-18T11:45:31.3188883Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-18T11:45:31.3188889Z   WRANGLER_SEND_METRICS: false
2026-10-18T11:45:31.3188894Z ##[endgroup]
2026-10-18T11:45:31.5469567Z Syncing repository: flagon-io/g1t
2026-10-18T11:45:31.5472243Z ##[group]Getting Git version info
2026-10-18T11:45:31.5473025Z Working directory is '/home/runner/work/repo'
2026-10-18T11:45:31.5499118Z [command]/usr/bin/git version
2026-10-18T11:45:31.5631180Z git version 2.39.5
2026-10-18T11:45:31.5646276Z ##[endgroup]
2026-10-18T11:45:31.5659736Z Temporarily overriding HOME='/home/runner/_temp/0df3e959-6022-4781-b0ff-a5c49b043029' before making global git config changes
2026-10-18T11:45:31.5660075Z Adding repository directory to the temporary git global config as a safe directory
2026-10-18T11:45:31.5664405Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/repo
2026-10-18T11:45:31.5697594Z Deleting the contents of '/home/runner/work/repo'
2026-10-18T11:45:31.5700584Z ##[group]Initializing the repository
2026-10-18T11:45:31.5703746Z [command]/usr/bin/git init /home/runner/work/repo
2026-10-18T11:45:31.5777452Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-10-18T11:45:31.5777523Z hint: is subject to change. To configure the initial branch name to use in all
2026-10-18T11:45:31.5777572Z hint: of your new repositories, which will suppress this warning, call:
2026-10-18T11:45:31.5777583Z hint: 
2026-10-18T11:45:31.5777605Z hint: 	git config --global init.defaultBranch <name>
2026-10-18T11:45:31.5777615Z hint: 
2026-10-18T11:45:31.5777655Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-10-18T11:45:31.5777694Z hint: 'development'. The just-created branch can be renamed via this command:
2026-10-18T11:45:31.5777702Z hint: 
2026-10-18T11:45:31.5777711Z hint: 	git branch -m <name>
2026-10-18T11:45:31.5781530Z Initialized empty Git repository in /home/runner/work/repo/.git/
2026-10-18T11:45:31.5790297Z [command]/usr/bin/git remote add origin https://g1t.sh/flagon-io/g1t
2026-10-18T11:45:31.5851336Z ##[endgroup]
2026-10-18T11:45:31.5851397Z ##[group]Disabling automatic garbage collection
2026-10-18T11:45:31.5855394Z [command]/usr/bin/git config --local gc.auto 0
2026-10-18T11:45:31.5880750Z ##[endgroup]
2026-10-18T11:45:31.5880791Z ##[group]Setting up auth
2026-10-18T11:45:31.5886902Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-18T11:45:31.5917079Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-10-18T11:45:31.6298868Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/g1t\.sh\/\.extraheader
2026-10-18T11:45:31.6325224Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/g1t\.sh\/\.extraheader' && git config --local --unset-all 'http.https://g1t.sh/.extraheader' || :"
2026-10-18T11:45:31.6543451Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-18T11:45:31.6569271Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-18T11:45:31.6787708Z [command]/usr/bin/git config --local http.https://g1t.sh/.extraheader AUTHORIZATION: basic ***
2026-10-18T11:45:31.6816785Z ##[endgroup]
2026-10-18T11:45:31.6817215Z ##[group]Fetching the repository
2026-10-18T11:45:31.6823909Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +5a992f064721c3c7d2eb1b40e12d55f3a518657a:refs/remotes/origin/main
2026-10-18T11:45:32.8433100Z From https://g1t.sh/flagon-io/g1t
2026-10-18T11:45:32.8433354Z  * [new ref]         5a992f064721c3c7d2eb1b40e12d55f3a518657a -> origin/main
2026-10-18T11:45:32.8452281Z ##[endgroup]
2026-10-18T11:45:32.8452322Z ##[group]Determining the checkout info
2026-10-18T11:45:32.8454289Z ##[endgroup]
2026-10-18T11:45:32.8459343Z [command]/usr/bin/git sparse-checkout disable
2026-10-18T11:45:32.8489131Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-10-18T11:45:32.8512206Z ##[group]Checking out the ref
2026-10-18T11:45:32.8516087Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
2026-10-18T11:45:33.1125618Z Switched to a new branch 'main'
2026-10-18T11:45:33.1125679Z branch 'main' set up to track 'origin/main'.
2026-10-18T11:45:33.1125857Z ##[endgroup]
2026-10-18T11:45:33.1160997Z [command]/usr/bin/git log -1 --format=%H
2026-10-18T11:45:33.1181989Z 5a992f064721c3c7d2eb1b40e12d55f3a518657a
2026-10-18T11:45:33.5740127Z ##[group]Run actions/cache/restore@v4
2026-10-18T11:45:33.5740154Z with:
2026-10-18T11:45:33.5740164Z   enableCrossOsArchive: false
2026-10-18T11:45:33.5740172Z   fail-on-cache-miss: false
2026-10-18T11:45:33.5740244Z   key: npm-full-Linux-d193595f755da186e76061e433b790e8f1849037a491c81d42ae1f4257286974
2026-10-18T11:45:33.5740253Z   lookup-only: false
2026-10-18T11:45:33.5740259Z   path: ~/.npm
2026-10-18T11:45:33.5740265Z   restore-keys: npm-full-Linux-
2026-10-18T11:45:33.5740273Z env:
2026-10-18T11:45:33.5740279Z   CARGO_TERM_COLOR: never
2026-10-18T11:45:33.5740324Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-18T11:45:33.5740330Z   WRANGLER_SEND_METRICS: false
2026-10-18T11:45:33.5740336Z ##[endgroup]
2026-10-18T11:45:33.6730517Z (node:1221) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-10-18T11:45:33.6730615Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-10-18T11:45:39.1767718Z Cache Size: ~456 MB (477763572 B)
2026-10-18T11:45:39.4721166Z [command]/usr/bin/tar -xf /home/runner/_temp/e508bfeb-eafc-430b-a983-d28d7c25cde1/cache.tzst -P -C /home/runner/work/repo --use-compress-program unzstd
2026-10-18T11:45:40.5861386Z Cache restored successfully
2026-10-18T11:45:40.6541675Z Cache restored from key: npm-full-Linux-d193595f755da186e76061e433b790e8f1849037a491c81d42ae1f4257286974
2026-10-18T11:45:41.1269046Z ##[group]Run node scripts/deploy/npm-ci.mjs --prefer-offline --workspaces=false --no-audit --no-fund
2026-10-18T11:45:41.1269124Z [36;1mnode scripts/deploy/npm-ci.mjs --prefer-offline --workspaces=false --no-audit --no-fund[0m
2026-10-18T11:45:41.1269132Z shell: /usr/bin/bash -e {0}
2026-10-18T11:45:41.1269141Z env:
2026-10-18T11:45:41.1269148Z   CARGO_TERM_COLOR: never
2026-10-18T11:45:41.1269189Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-18T11:45:41.1269200Z   WRANGLER_SEND_METRICS: false
2026-10-18T11:45:41.1269214Z ##[endgroup]
2026-10-18T11:45:44.2376892Z 
2026-10-18T11:45:44.4319158Z added 40 packages in 3s
2026-10-18T11:45:44.4319278Z npm warn install-scripts 2 packages have install scripts not yet covered by allowScripts:
2026-10-18T11:45:44.4319345Z npm warn install-scripts   esbuild@0.28.1 (postinstall: node install.js)
2026-10-18T11:45:44.4319395Z npm warn install-scripts   workerd@1.20261001.1 (postinstall: node install.js)
2026-10-18T11:45:44.4319403Z npm warn install-scripts
2026-10-18T11:45:44.4319466Z npm warn install-scripts Run `npm install-scripts ls` to review, or `npm install-scripts approve <pkg>` to allow.
2026-10-18T11:45:44.9503638Z ##[group]Run node scripts/deploy.mjs manifest --check
2026-10-18T11:45:44.9503685Z [36;1mnode scripts/deploy.mjs manifest --check[0m
2026-10-18T11:45:44.9503694Z shell: /usr/bin/bash -e {0}
2026-10-18T11:45:44.9503702Z env:
2026-10-18T11:45:44.9503712Z   CARGO_TERM_COLOR: never
2026-10-18T11:45:44.9503771Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-18T11:45:44.9503779Z   WRANGLER_SEND_METRICS: false
2026-10-18T11:45:44.9503789Z ##[endgroup]
2026-10-18T11:45:45.1527627Z deploy/stack.jsonc is consistent with every wrangler.jsonc.
2026-10-18T11:45:45.5876898Z ##[group]Run npm run test:deploy
2026-10-18T11:45:45.5876926Z [36;1mnpm run test:deploy[0m
2026-10-18T11:45:45.5876936Z shell: /usr/bin/bash -e {0}
2026-10-18T11:45:45.5876943Z env:
2026-10-18T11:45:45.5876950Z   CARGO_TERM_COLOR: never
2026-10-18T11:45:45.5877018Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-18T11:45:45.5877026Z   WRANGLER_SEND_METRICS: false
2026-10-18T11:45:45.5877033Z ##[endgroup]
2026-10-18T11:45:46.2958364Z 
2026-10-18T11:45:46.2958477Z > test:deploy
2026-10-18T11:45:46.2958499Z > node --test "scripts/deploy/*.test.mjs"
2026-10-18T11:45:46.2958508Z 
2026-10-18T11:45:46.3829590Z ✔ a release's version bump keeps the Rust caches' key, a new dependency changes it (1.534742ms)
2026-10-18T11:45:46.3837195Z ✔ the toolchain is read from rustc -V (0.17187ms)
2026-10-18T11:45:46.3838598Z ✔ the CLI's builder image is pinned, and keys its cache by its digest (0.214931ms)
2026-10-18T11:45:46.3838818Z ✔ a unit's hash is read from its files and folders (0.19799ms)
2026-10-18T11:45:46.3838978Z ✔ only the units the build did not use are pruned (2.104594ms)
2026-10-18T11:45:47.0198626Z error: no matching package named `base64` found
2026-10-18T11:45:47.0198726Z location searched: crates.io index
2026-10-18T11:45:47.0198809Z required by package `g1t-api v0.1.0 (/home/runner/work/repo/apps/api)`
2026-10-18T11:45:47.0198883Z note: offline mode (via `--offline`) can sometimes cause surprising resolution failures
2026-10-18T11:45:47.0202054Z help: if this error is too confusing you may wish to retry without `--offline`
2026-10-18T11:45:47.2299264Z ✔ the manifest matches every wrangler config in the repository (30.700129ms)
2026-10-18T11:45:47.2299396Z ✔ every wrangler.jsonc is found, and only checked-in ones (15.740145ms)
2026-10-18T11:45:47.2299471Z ✔ problems are found: an unlisted config, a later-stage binding, a wrong database, an unnamed KV (17.657019ms)
2026-10-18T11:45:47.2299518Z ✔ stages follow bindings: nothing binds to a unit that ships after it (0.32364ms)
2026-10-18T11:45:47.2299673Z ✔ inside a stage, a Worker that does not exist yet goes before those bound to it (0.498671ms)
2026-10-18T11:45:47.2304868Z ✔ Rust workers build with the shared script and the same wasm-opt level (0.466821ms)
2026-10-18T11:45:47.2307545Z ✔ shared crates and packages are read from workspace metadata (0.189ms)
2026-10-18T11:45:47.2308154Z ✔ the runner's image is built from the runner crate and what it uses, on the base its lock names (0.242151ms)
2026-10-18T11:45:47.2308660Z ✔ services/runner/base.json records the base its folder builds (6.999281ms)
2026-10-18T11:45:47.2349785Z ✔ an image's hash ignores line endings, and its tags say what they are (76.278123ms)
2026-10-18T11:45:47.2349876Z ✔ only the lockfile entries the runner is built from name its image (0.296591ms)
2026-10-18T11:45:47.2349928Z ✔ the runner's deploy config names its image by reference, beside its wrangler.jsonc (16.800807ms)
2026-10-18T11:45:47.2350076Z ✔ the registry is asked for an image's manifest, without Docker (0.642081ms)
2026-10-18T11:45:47.2350123Z ✔ a push counts only when it ends with a digest, and is tried again (0.567061ms)
2026-10-18T11:45:47.2350166Z ✔ a static Linux binary is told from a dynamic one (0.594721ms)
2026-10-18T11:45:47.2350230Z ﹣ path dependencies agree with Cargo's own resolved graph (380.785744ms) # cargo metadata could not resolve offline
2026-10-18T11:45:47.2350280Z ✔ every import that leaves a unit's folder is covered by its dependencies or inputs (47.676267ms)
2026-10-18T11:45:47.2350325Z ✔ a shared crate's change reaches every unit built from it, and no other (0.454721ms)
2026-10-18T11:45:47.2350362Z ✔ a shared package's change reaches what imports it (0.18577ms)
2026-10-18T11:45:47.2350404Z ✔ a crate's tests, benches and examples deploy nothing (0.359671ms)
2026-10-18T11:45:47.2350445Z ✔ a Rust file compiled only for tests is found from what declares it (0.846681ms)
2026-10-18T11:45:47.2350486Z ✔ this repository's test-only sources are read from git (149.117181ms)
2026-10-18T11:45:47.2350527Z ✔ decide: a change only to tests deploys nothing (1.002661ms)
2026-10-18T11:45:47.2350567Z ✔ own folders, declared inputs and root files (0.359201ms)
2026-10-18T11:45:47.2350606Z ✔ a Cargo.lock change reaches only crates that use what changed (0.400281ms)
2026-10-18T11:45:47.2350643Z ✔ a package-lock change reaches through workspace links (0.41336ms)
2026-10-18T11:45:47.2350681Z ✔ decide: changed units deploy, others wait, unknown ones deploy (0.247821ms)
2026-10-18T11:45:47.2350723Z ✔ decide: --force deploys unchanged units; a commit missing from history deploys (0.12596ms)
2026-10-18T11:45:47.2351557Z ✔ decide: Cargo.lock counts only where it reaches (0.358691ms)
2026-10-18T11:45:47.2351599Z ✔ decide: the runner's image rebuilds only when what it is built from changed (0.19538ms)
2026-10-18T11:45:47.2351639Z ✔ the plan as data: migrations, and each stage's units in jobs that share a build (0.765191ms)
2026-10-18T11:45:47.2351679Z ✔ units are picked by short name, folder or Worker name (0.333411ms)
2026-10-18T11:45:47.2351712Z ✔ a CI job installs only what its units need (0.741131ms)
2026-10-18T11:45:47.2351749Z ✔ a deploy is annotated with its commit, and read back (0.18257ms)
2026-10-18T11:45:47.2351793Z ✔ the live commit: the live version's, looking through secret changes (0.265751ms)
2026-10-18T11:45:47.2351831Z ✔ Wrangler's output: pending migrations and the version a deploy made (0.28001ms)
2026-10-18T11:45:47.2351869Z ✔ the API's answers: the live commit as Wrangler's would give it (0.821032ms)
2026-10-18T11:45:47.7300342Z ✔ the API's answers: a Worker never deployed, and a refusal, never throw (501.898189ms)
2026-10-18T11:45:47.9604245Z ✔ the API is used only with the token Wrangler would be given (0.31934ms)
2026-10-18T11:45:47.9604338Z ✔ pending migrations: the folder's files less the names in d1_migrations (1.199082ms)
2026-10-18T11:45:47.9604389Z ✔ the pool runs everything, no more than its limit at once (16.207986ms)
2026-10-18T11:45:47.9604436Z ✔ self-hosting builds every Rust service the manifest says it runs (0.384101ms)
2026-10-18T11:45:47.9604474Z ✔ the self-hosting architecture page names every unit (0.19442ms)
2026-10-18T11:45:47.9604522Z ✔ the architecture's services page names every unit, with the services it binds to (2.111954ms)
2026-10-18T11:45:47.9604565Z ✔ resolveStack works on a manifest with no workspace crates or packages (2.059223ms)
2026-10-18T11:45:47.9604630Z ✔ decide: a commit older than what runs is never deployed by accident, even forced; --rollback means it (0.18867ms)
2026-10-18T11:45:47.9604677Z ✔ a deploy by hand reports to the repository on g1t, and a workflow's does not (1.226682ms)
2026-10-18T11:45:47.9604721Z ✔ a failed wrangler command is reported by its error, not its trace (0.180331ms)
2026-10-18T11:45:47.9604761Z ✔ Cloudflare failing is tried again; a mistake in what is deployed is not (0.30245ms)
2026-10-18T11:45:47.9604817Z ✔ sandboxes roll over at once when their image or container settings changed, and not otherwise (0.212101ms)
2026-10-18T11:45:47.9604860Z ✔ the deploy tool itself parses: a test that never imports it would not notice (23.434817ms)
2026-10-18T11:45:48.0547076Z ✔ the statements are all there (0.689422ms)
2026-10-18T11:45:48.0556137Z ✔ twenty invites each: the twenty-first is refused in the statement that writes (33.850475ms)
2026-10-18T11:45:48.0557551Z ✔ revoking an unused invite gives it back; an expired one never counted (62.856551ms)
2026-10-18T11:45:48.0571893Z ✔ a used invite is spent: revoking it does nothing and it still counts (31.706241ms)
2026-10-18T11:45:48.0571969Z ✔ a pending invite for the same address is found; a revoked one is not (31.275441ms)
2026-10-18T11:45:48.0572019Z ✔ staff grants add to the twenty and can take some back (29.964078ms)
2026-10-18T11:45:48.0572068Z ✔ signing up from the link spends the invite once and records who invited whom (30.552819ms)
2026-10-18T11:45:48.1074497Z ✔ a body that broke off is worth another try, a lockfile out of step is not (1.021651ms)
2026-10-18T11:45:48.1074599Z ✔ an install that ends without saying why, or stalls, is tried again (0.13152ms)
2026-10-18T11:45:48.1076873Z ✔ a dropped connection is tried again until the install passes (1.581063ms)
2026-10-18T11:45:48.1076899Z ✔ a real error fails at once (0.17189ms)
2026-10-18T11:45:48.1076949Z ✔ it gives up after its tries, with npm's exit code (0.17578ms)
2026-10-18T11:45:48.1076967Z ✔ a stalled install is run again (0.16993ms)
2026-10-18T11:45:48.2264347Z ✔ webhooks: the hourly purge deletes old deliveries by time (1.786103ms)
2026-10-18T11:45:48.2264916Z ✔ billing: this month's users are read from an index, not the ledger (46.975446ms)
2026-10-18T11:45:48.2265392Z ✔ events: a repository's events of one type, newest first, page by page (3.529436ms)
2026-10-18T11:45:48.2265837Z ✔ actions: a self-hosted runner's poll finds queued jobs by namespace, whatever its case (11.762329ms)
2026-10-18T11:45:48.2267605Z ✔ chat: a channel's messages and a thread's replies, newest first, page by page (2.181063ms)
2026-10-18T11:45:48.2268027Z ✔ chat: the sidebar's unread messages are read from each channel's index, after the last read (2.137914ms)
2026-10-18T11:45:48.2269681Z ✔ chat: a page's reactions are read by message, and a workspace's emoji by name (2.506184ms)
2026-10-18T11:45:48.3059740Z ✔ the runner's layer is the binary alone, at its path and mode, owned by root (3.230255ms)
2026-10-18T11:45:48.3074597Z ✔ the layer and entrypoint are what services/runner/Dockerfile builds (0.347791ms)
2026-10-18T11:45:48.3074677Z ✔ the config is the base's, with the layer, the entrypoint and no inherited command (0.662941ms)
2026-10-18T11:45:48.3086164Z ✔ the manifest names the base's layers, then the binary's, in the base's format (0.239181ms)
2026-10-18T11:45:48.3086241Z ✔ image references and bearer challenges are read (0.445471ms)
2026-10-18T11:45:48.3086313Z ✔ the runner's image is made in the registry from the base's manifest and one new layer, pulling none of the base (19.491692ms)
2026-10-18T11:45:48.3086364Z ✔ a base that is not where it should be, or not what base.json says, stops it (0.840751ms)
2026-10-18T11:45:48.3086426Z ✔ a registry that asks for a bearer token is given the one its realm trades the credentials for (1.536143ms)
2026-10-18T11:45:48.3547694Z scheduler: g1t-webhooks (* * * * *) is still running from the last time; skipped
2026-10-18T11:45:48.3750117Z scheduler: g1t-webhooks (* * * * *): 200 {"outcome":"exception"}
2026-10-18T11:45:48.3768454Z ✔ fields read numbers, ranges, lists and steps (1.292652ms)
2026-10-18T11:45:48.3776365Z ✔ the services' crons match when hosted g1t's would fire (1.250322ms)
2026-10-18T11:45:48.3814174Z ✔ what is due is each matching cron of each service (0.288031ms)
2026-10-18T11:45:48.3814259Z ✔ a run asks Wrangler for the handler, and a slow one is not doubled (20.928464ms)
2026-10-18T11:45:48.4553615Z ✔ a deploy is announced to status.g1t.sh with the token, and without one nothing is sent (23.230608ms)
2026-10-18T11:45:48.4566481Z ✔ an announcement that fails is a warning, never a failed deploy (0.476191ms)
2026-10-18T11:45:48.4578264Z ✔ the stages run inside the window: started before, finished after, even when they throw; a dry run says nothing (0.685001ms)
2026-10-18T11:45:48.4578347Z ✔ deploy.mjs announces every deploy, and the workflow passes it the token (0.367211ms)
2026-10-18T11:45:48.5720710Z ✔ discover actual hashed assets without archiving icons, source maps or library defaults (1.536182ms)
2026-10-18T11:45:48.5721684Z ✔ archive the old release's transitive chunks before replacing it (18.93114ms)
2026-10-18T11:45:48.5739534Z ✔ archive failures block cutover and immutable filename collisions are refused (2.401884ms)
2026-10-18T11:45:48.5739613Z ✔ a missing live asset aborts the archive instead of saving an HTML error as CSS (0.736261ms)
2026-10-18T11:45:48.5739661Z ✔ a release manifest skips unchanged uploads without scanning deployment history (0.622111ms)
2026-10-18T11:45:48.5739708Z ✔ provider rate limits wait and retry; persistent failure remains a failure (1.286502ms)
2026-10-18T11:45:48.5739749Z ✔ cutover verifies old and new assets and rejects HTML fallback or wrong build (1.854352ms)
2026-10-18T11:45:48.5739805Z ✔ cutover tolerates propagation delay but still requires the expected build and asset bytes (1.791202ms)
2026-10-18T11:45:49.6111468Z ✔ 1000 successive releases keep old tabs' assets and perform bounded incremental archive work (1039.298395ms)
2026-10-18T11:45:49.6218975Z ℹ tests 101
2026-10-18T11:45:49.6219042Z ℹ suites 0
2026-10-18T11:45:49.6219069Z ℹ pass 100
2026-10-18T11:45:49.6219079Z ℹ fail 0
2026-10-18T11:45:49.6219211Z ℹ cancelled 0
2026-10-18T11:45:49.6219222Z ℹ skipped 1
2026-10-18T11:45:49.6219232Z ℹ todo 0
2026-10-18T11:45:49.6219240Z ℹ duration_ms 3295.587413
2026-10-18T11:45:50.6950688Z [command]/usr/bin/git version
2026-10-18T11:45:50.6986685Z git version 2.39.5
2026-10-18T11:45:50.7023969Z Temporarily overriding HOME='/home/runner/_temp/0c394299-6a3d-4826-8c34-5cca5b1b5054' before making global git config changes
2026-10-18T11:45:50.7024640Z Adding repository directory to the temporary git global config as a safe directory
2026-10-18T11:45:50.7030672Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/repo
2026-10-18T11:45:50.7068638Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-18T11:45:50.7101434Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-10-18T11:45:50.7338025Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/g1t\.sh\/\.extraheader
2026-10-18T11:45:50.7357909Z http.https://g1t.sh/.extraheader
2026-10-18T11:45:50.7367221Z [command]/usr/bin/git config --local --unset-all http.https://g1t.sh/.extraheader
2026-10-18T11:45:50.7397047Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/g1t\.sh\/\.extraheader' && git config --local --unset-all 'http.https://g1t.sh/.extraheader' || :"
2026-10-18T11:45:50.7616931Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-18T11:45:50.7642545Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-18T11:45:51.3695332Z Cleaning up orphan processes
