2026-10-16T04:21:13.9100427Z Current runner version: '0.3.5'
2026-10-16T04:21:13.9100480Z Runner name: 'g1t'
2026-10-16T04:21:13.9100496Z ##[group]Operating System
2026-10-16T04:21:13.9100520Z Debian GNU/Linux
2026-10-16T04:21:13.9100534Z 12 (bookworm)
2026-10-16T04:21:13.9100551Z ##[endgroup]
2026-10-16T04:21:13.9100563Z ##[group]Runner Image
2026-10-16T04:21:13.9100606Z Included Software: Node 24, Python 3, Go, Rust
2026-10-16T04:21:13.9100620Z ##[endgroup]
2026-10-16T04:21:13.9100635Z ##[group]Machine
2026-10-16T04:21:13.9100649Z Hosted by g1t
2026-10-16T04:21:13.9100660Z Architecture: X64
2026-10-16T04:21:13.9100673Z CPUs: 2
2026-10-16T04:21:13.9100685Z Memory: 8 GB
2026-10-16T04:21:13.9100697Z ##[endgroup]
2026-10-16T04:21:13.9100708Z ##[group]G1T_TOKEN Permissions
2026-10-16T04:21:13.9100720Z Contents: read
2026-10-16T04:21:13.9100732Z Metadata: read
2026-10-16T04:21:13.9100743Z ##[endgroup]
2026-10-16T04:21:13.9100768Z Secret source: Actions
2026-10-16T04:21:13.9100784Z Prepare workflow directory
2026-10-16T04:21:13.9349365Z Prepare all required actions
2026-10-16T04:21:13.9349431Z Getting action download info
2026-10-16T04:21:13.9352830Z Getting action download info for 'actions/checkout@v5'
2026-10-16T04:21:14.6730107Z Download action repository 'actions/checkout@v5' (SHA:fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09) from g1t
2026-10-16T04:21:15.1741954Z Getting action download info for 'actions/cache@v4'
2026-10-16T04:21:16.1551313Z Download action repository 'actions/cache@v4' (SHA:0057852bfaa89a56745cba8c7296529d2fc39830) from g1t
2026-10-16T04:21:16.6663735Z Complete job name: Check
2026-10-16T04:21:17.0505154Z ##[group]Run actions/checkout@v5
2026-10-16T04:21:17.0505202Z with:
2026-10-16T04:21:17.0505215Z   allow-unsafe-pr-checkout: false
2026-10-16T04:21:17.0505229Z   clean: true
2026-10-16T04:21:17.0505239Z   fetch-depth: 1
2026-10-16T04:21:17.0505258Z   fetch-tags: false
2026-10-16T04:21:17.0505272Z   filter: 
2026-10-16T04:21:17.0505285Z   github-server-url: 
2026-10-16T04:21:17.0505298Z   lfs: false
2026-10-16T04:21:17.0505311Z   path: 
2026-10-16T04:21:17.0505327Z   persist-credentials: true
2026-10-16T04:21:17.0505340Z   ref: 
2026-10-16T04:21:17.0505354Z   repository: flagon-io/g1t
2026-10-16T04:21:17.0505367Z   set-safe-directory: true
2026-10-16T04:21:17.0505379Z   show-progress: true
2026-10-16T04:21:17.0505392Z   sparse-checkout: 
2026-10-16T04:21:17.0505404Z   sparse-checkout-cone-mode: true
2026-10-16T04:21:17.0505416Z   ssh-key: 
2026-10-16T04:21:17.0505429Z   ssh-known-hosts: 
2026-10-16T04:21:17.0505447Z   ssh-strict: true
2026-10-16T04:21:17.0505458Z   ssh-user: git
2026-10-16T04:21:17.0505469Z   submodules: false
2026-10-16T04:21:17.0505528Z   token: ***
2026-10-16T04:21:17.0505541Z env:
2026-10-16T04:21:17.0505553Z   CARGO_TERM_COLOR: never
2026-10-16T04:21:17.0505643Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-16T04:21:17.0505658Z   WRANGLER_SEND_METRICS: false
2026-10-16T04:21:17.0505671Z ##[endgroup]
2026-10-16T04:21:19.1235504Z Syncing repository: flagon-io/g1t
2026-10-16T04:21:19.5374665Z ##[group]Getting Git version info
2026-10-16T04:21:19.5374885Z Working directory is '/home/runner/work/repo'
2026-10-16T04:21:19.5374940Z [command]/usr/bin/git version
2026-10-16T04:21:19.5375595Z git version 2.39.5
2026-10-16T04:21:19.5375757Z ##[endgroup]
2026-10-16T04:21:19.5376713Z Temporarily overriding HOME='/home/runner/_temp/b8a6030e-9120-4e63-9559-152a083b84e7' before making global git config changes
2026-10-16T04:21:19.5376841Z Adding repository directory to the temporary git global config as a safe directory
2026-10-16T04:21:19.5376965Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/repo
2026-10-16T04:21:19.5377046Z Deleting the contents of '/home/runner/work/repo'
2026-10-16T04:21:19.5377088Z ##[group]Initializing the repository
2026-10-16T04:21:19.5377133Z [command]/usr/bin/git init /home/runner/work/repo
2026-10-16T04:21:19.5377242Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-10-16T04:21:19.5377353Z hint: is subject to change. To configure the initial branch name to use in all
2026-10-16T04:21:19.5377461Z hint: of your new repositories, which will suppress this warning, call:
2026-10-16T04:21:19.5377487Z hint: 
2026-10-16T04:21:19.5377530Z hint: 	git config --global init.defaultBranch <name>
2026-10-16T04:21:19.5377554Z hint: 
2026-10-16T04:21:19.5377656Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-10-16T04:21:19.5377758Z hint: 'development'. The just-created branch can be renamed via this command:
2026-10-16T04:21:19.5377781Z hint: 
2026-10-16T04:21:19.5377807Z hint: 	git branch -m <name>
2026-10-16T04:21:19.5377910Z Initialized empty Git repository in /home/runner/work/repo/.git/
2026-10-16T04:21:19.5378048Z [command]/usr/bin/git remote add origin https://g1t.sh/flagon-io/g1t
2026-10-16T04:21:19.5378244Z ##[endgroup]
2026-10-16T04:21:19.5378298Z ##[group]Disabling automatic garbage collection
2026-10-16T04:21:19.5378342Z [command]/usr/bin/git config --local gc.auto 0
2026-10-16T04:21:19.5378488Z ##[endgroup]
2026-10-16T04:21:19.5378524Z ##[group]Setting up auth
2026-10-16T04:21:19.5378637Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-16T04:21:19.5378825Z [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-16T04:21:19.5378972Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/g1t\.sh\/\.extraheader
2026-10-16T04:21:19.5379153Z [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-16T04:21:19.5379290Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-16T04:21:19.5380688Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-16T04:21:19.5381315Z [command]/usr/bin/git config --local http.https://g1t.sh/.extraheader AUTHORIZATION: basic ***
2026-10-16T04:21:19.5381372Z ##[endgroup]
2026-10-16T04:21:19.5381412Z ##[group]Fetching the repository
2026-10-16T04:21:19.5381568Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +eb483dafb7e55bd403a896f6953e00ff5bc8efa1:refs/remotes/origin/main
2026-10-16T04:21:23.5285304Z From https://g1t.sh/flagon-io/g1t
2026-10-16T04:21:23.8018850Z  * [new ref]         eb483dafb7e55bd403a896f6953e00ff5bc8efa1 -> origin/main
2026-10-16T04:21:23.8019057Z ##[endgroup]
2026-10-16T04:21:23.8019152Z ##[group]Determining the checkout info
2026-10-16T04:21:23.8019188Z ##[endgroup]
2026-10-16T04:21:23.8019256Z [command]/usr/bin/git sparse-checkout disable
2026-10-16T04:21:23.8019405Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-10-16T04:21:23.8019472Z ##[group]Checking out the ref
2026-10-16T04:21:23.8019592Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
2026-10-16T04:21:24.0707760Z Switched to a new branch 'main'
2026-10-16T04:21:24.0707875Z branch 'main' set up to track 'origin/main'.
2026-10-16T04:21:24.0708023Z ##[endgroup]
2026-10-16T04:21:24.0780872Z [command]/usr/bin/git log -1 --format=%H
2026-10-16T04:21:24.0834872Z eb483dafb7e55bd403a896f6953e00ff5bc8efa1
2026-10-16T04:21:24.6632393Z ##[group]Run actions/cache/restore@v4
2026-10-16T04:21:24.6632477Z with:
2026-10-16T04:21:24.6632489Z   enableCrossOsArchive: false
2026-10-16T04:21:24.6632501Z   fail-on-cache-miss: false
2026-10-16T04:21:24.6632615Z   key: npm-full-Linux-f4644852f9708ae640c39e7ed2ef17a053d4aae840a1e7f20fc49ab2ba9ec15a
2026-10-16T04:21:24.6632627Z   lookup-only: false
2026-10-16T04:21:24.6632637Z   path: ~/.npm
2026-10-16T04:21:24.6632646Z   restore-keys: npm-full-Linux-
2026-10-16T04:21:24.6632658Z env:
2026-10-16T04:21:24.6632668Z   CARGO_TERM_COLOR: never
2026-10-16T04:21:24.6632731Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-16T04:21:24.6632740Z   WRANGLER_SEND_METRICS: false
2026-10-16T04:21:24.6632749Z ##[endgroup]
2026-10-16T04:21:24.9192008Z (node:1221) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-10-16T04:21:24.9192345Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-10-16T04:21:40.3138484Z Cache Size: ~453 MB (475500790 B)
2026-10-16T04:21:40.5482160Z [command]/usr/bin/tar -xf /home/runner/_temp/0af02b7f-a45b-4fb5-b47b-5aa83ef0f19f/cache.tzst -P -C /home/runner/work/repo --use-compress-program unzstd
2026-10-16T04:21:43.6569923Z Cache restored successfully
2026-10-16T04:21:43.8900510Z Cache restored from key: npm-full-Linux-f4644852f9708ae640c39e7ed2ef17a053d4aae840a1e7f20fc49ab2ba9ec15a
2026-10-16T04:21:44.3702599Z ##[group]Run node scripts/deploy/npm-ci.mjs --prefer-offline --workspaces=false --no-audit --no-fund
2026-10-16T04:21:44.3702722Z [36;1mnode scripts/deploy/npm-ci.mjs --prefer-offline --workspaces=false --no-audit --no-fund[0m
2026-10-16T04:21:44.3702736Z shell: /usr/bin/bash -e {0}
2026-10-16T04:21:44.3702759Z env:
2026-10-16T04:21:44.3702770Z   CARGO_TERM_COLOR: never
2026-10-16T04:21:44.3702841Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-16T04:21:44.3702852Z   WRANGLER_SEND_METRICS: false
2026-10-16T04:21:44.3702873Z ##[endgroup]
2026-10-16T04:22:09.1579888Z 
2026-10-16T04:22:09.3670279Z added 39 packages in 24s
2026-10-16T04:22:09.3671256Z npm warn install-scripts 2 packages have install scripts not yet covered by allowScripts:
2026-10-16T04:22:09.3671389Z npm warn install-scripts   esbuild@0.28.1 (postinstall: node install.js)
2026-10-16T04:22:09.3671476Z npm warn install-scripts   workerd@1.20261001.1 (postinstall: node install.js)
2026-10-16T04:22:09.3671496Z npm warn install-scripts
2026-10-16T04:22:09.3671604Z npm warn install-scripts Run `npm install-scripts ls` to review, or `npm install-scripts approve <pkg>` to allow.
2026-10-16T04:22:09.8464824Z ##[group]Run node scripts/deploy.mjs manifest --check
2026-10-16T04:22:09.8464886Z [36;1mnode scripts/deploy.mjs manifest --check[0m
2026-10-16T04:22:09.8464904Z shell: /usr/bin/bash -e {0}
2026-10-16T04:22:09.8464917Z env:
2026-10-16T04:22:09.8464933Z   CARGO_TERM_COLOR: never
2026-10-16T04:22:09.8465015Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-16T04:22:09.8465026Z   WRANGLER_SEND_METRICS: false
2026-10-16T04:22:09.8465042Z ##[endgroup]
2026-10-16T04:22:10.3687754Z deploy/stack.jsonc is consistent with every wrangler.jsonc.
2026-10-16T04:22:10.9079333Z ##[group]Run npm run test:deploy
2026-10-16T04:22:10.9079389Z [36;1mnpm run test:deploy[0m
2026-10-16T04:22:10.9079418Z shell: /usr/bin/bash -e {0}
2026-10-16T04:22:10.9079438Z env:
2026-10-16T04:22:10.9079454Z   CARGO_TERM_COLOR: never
2026-10-16T04:22:10.9079569Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-16T04:22:10.9079586Z   WRANGLER_SEND_METRICS: false
2026-10-16T04:22:10.9079599Z ##[endgroup]
2026-10-16T04:22:11.2028092Z 
2026-10-16T04:22:11.2028343Z > test:deploy
2026-10-16T04:22:11.2028377Z > node --test "scripts/deploy/*.test.mjs"
2026-10-16T04:22:11.2028392Z 
2026-10-16T04:22:11.4442648Z ✔ a release's version bump keeps the Rust caches' key, a new dependency changes it (5.958666ms)
2026-10-16T04:22:11.4447766Z ✔ the toolchain is read from rustc -V (0.574471ms)
2026-10-16T04:22:11.4451541Z ✔ the CLI's builder image is pinned, and keys its cache by its digest (0.52886ms)
2026-10-16T04:22:11.4490496Z ✔ a unit's hash is read from its files and folders (0.37928ms)
2026-10-16T04:22:11.4490641Z ✔ only the units the build did not use are pruned (5.017005ms)
2026-10-16T04:22:15.1698841Z error: no matching package named `base64` found
2026-10-16T04:22:23.5388417Z location searched: crates.io index
2026-10-16T04:22:23.9285376Z required by package `g1t-api v0.1.0 (/home/runner/work/repo/apps/api)`
2026-10-16T04:22:23.9285538Z note: offline mode (via `--offline`) can sometimes cause surprising resolution failures
2026-10-16T04:22:23.9285613Z help: if this error is too confusing you may wish to retry without `--offline`
2026-10-16T04:22:23.9285705Z ✔ the manifest matches every wrangler config in the repository (66.680514ms)
2026-10-16T04:22:23.9285791Z ✔ every wrangler.jsonc is found, and only checked-in ones (50.666428ms)
2026-10-16T04:22:23.9285917Z ✔ problems are found: an unlisted config, a later-stage binding, a wrong database, an unnamed KV (50.115498ms)
2026-10-16T04:22:23.9286010Z ✔ stages follow bindings: nothing binds to a unit that ships after it (1.054291ms)
2026-10-16T04:22:23.9286108Z ✔ inside a stage, a Worker that does not exist yet goes before those bound to it (2.757373ms)
2026-10-16T04:22:23.9286202Z ✔ Rust workers build with the shared script and the same wasm-opt level (1.648872ms)
2026-10-16T04:22:23.9286285Z ✔ shared crates and packages are read from workspace metadata (0.750161ms)
2026-10-16T04:22:23.9286385Z ✔ the runner's image is built from the runner crate and what it uses, on the base its lock names (0.934461ms)
2026-10-16T04:22:23.9286443Z ✔ services/runner/base.json records the base its folder builds (28.463577ms)
2026-10-16T04:22:23.9286504Z ✔ an image's hash ignores line endings, and its tags say what they are (211.529612ms)
2026-10-16T04:22:23.9286563Z ✔ only the lockfile entries the runner is built from name its image (0.921851ms)
2026-10-16T04:22:23.9286627Z ✔ the runner's deploy config names its image by reference, beside its wrangler.jsonc (44.817443ms)
2026-10-16T04:22:23.9286686Z ✔ the registry is asked for an image's manifest, without Docker (1.840842ms)
2026-10-16T04:22:23.9287185Z ✔ a push counts only when it ends with a digest, and is tried again (1.351461ms)
2026-10-16T04:22:23.9287265Z ✔ a static Linux binary is told from a dynamic one (1.547812ms)
2026-10-16T04:22:23.9287377Z ﹣ path dependencies agree with Cargo's own resolved graph (3005.748496ms) # cargo metadata could not resolve offline
2026-10-16T04:22:23.9287476Z ✔ every import that leaves a unit's folder is covered by its dependencies or inputs (184.607916ms)
2026-10-16T04:22:23.9287569Z ✔ a shared crate's change reaches every unit built from it, and no other (1.957782ms)
2026-10-16T04:22:23.9288238Z ✔ a shared package's change reaches what imports it (0.737941ms)
2026-10-16T04:22:23.9288303Z ✔ a crate's tests, benches and examples deploy nothing (1.249171ms)
2026-10-16T04:22:23.9288363Z ✔ a Rust file compiled only for tests is found from what declares it (2.883913ms)
2026-10-16T04:22:23.9288418Z ✔ this repository's test-only sources are read from git (438.568109ms)
2026-10-16T04:22:23.9288479Z ✔ decide: a change only to tests deploys nothing (1.896591ms)
2026-10-16T04:22:23.9288532Z ✔ own folders, declared inputs and root files (0.736581ms)
2026-10-16T04:22:23.9288613Z ✔ a Cargo.lock change reaches only crates that use what changed (0.863041ms)
2026-10-16T04:22:23.9288688Z ✔ a package-lock change reaches through workspace links (1.142231ms)
2026-10-16T04:22:23.9288757Z ✔ decide: changed units deploy, others wait, unknown ones deploy (0.585421ms)
2026-10-16T04:22:23.9288837Z ✔ decide: --force deploys unchanged units; a commit missing from history deploys (0.33233ms)
2026-10-16T04:22:23.9289077Z ✔ decide: Cargo.lock counts only where it reaches (0.729921ms)
2026-10-16T04:22:23.9290062Z ✔ decide: the runner's image rebuilds only when what it is built from changed (0.401831ms)
2026-10-16T04:22:23.9290161Z ✔ the plan as data: migrations, and each stage's units in jobs that share a build (1.618661ms)
2026-10-16T04:22:23.9290243Z ✔ units are picked by short name, folder or Worker name (0.853411ms)
2026-10-16T04:22:23.9290324Z ✔ a CI job installs only what its units need (1.945032ms)
2026-10-16T04:22:23.9290408Z ✔ a deploy is annotated with its commit, and read back (0.588311ms)
2026-10-16T04:22:23.9290496Z ✔ the live commit: the live version's, looking through secret changes (0.69384ms)
2026-10-16T04:22:23.9290578Z ✔ Wrangler's output: pending migrations and the version a deploy made (0.698841ms)
2026-10-16T04:22:23.9290653Z ✔ the API's answers: the live commit as Wrangler's would give it (2.179462ms)
2026-10-16T04:22:23.9291232Z ✔ the API's answers: a Worker never deployed, and a refusal, never throw (502.90693ms)
2026-10-16T04:22:23.9291306Z ✔ the API is used only with the token Wrangler would be given (0.560671ms)
2026-10-16T04:22:23.9291363Z ✔ pending migrations: the folder's files less the names in d1_migrations (2.404242ms)
2026-10-16T04:22:23.9291419Z ✔ the pool runs everything, no more than its limit at once (16.599046ms)
2026-10-16T04:22:23.9291476Z ✔ self-hosting builds every Rust service the manifest says it runs (1.205851ms)
2026-10-16T04:22:23.9291532Z ✔ the self-hosting architecture page names every unit (0.394371ms)
2026-10-16T04:22:23.9291594Z ✔ the architecture's services page names every unit, with the services it binds to (6.686026ms)
2026-10-16T04:22:23.9291652Z ✔ resolveStack works on a manifest with no workspace crates or packages (5.647466ms)
2026-10-16T04:22:23.9291761Z ✔ decide: a commit older than what runs is never deployed by accident, even forced; --rollback means it (0.46416ms)
2026-10-16T04:22:23.9291844Z ✔ a deploy by hand reports to the repository on g1t, and a workflow's does not (2.761873ms)
2026-10-16T04:22:23.9291929Z ✔ a failed wrangler command is reported by its error, not its trace (0.41073ms)
2026-10-16T04:22:23.9292009Z ✔ Cloudflare failing is tried again; a mistake in what is deployed is not (0.632741ms)
2026-10-16T04:22:23.9292116Z ✔ sandboxes roll over at once when their image or container settings changed, and not otherwise (0.424131ms)
2026-10-16T04:22:23.9292204Z ✔ the deploy tool itself parses: a test that never imports it would not notice (52.69126ms)
2026-10-16T04:22:23.9292238Z ✔ the statements are all there (1.900522ms)
2026-10-16T04:22:23.9292319Z ✔ twenty invites each: the twenty-first is refused in the statement that writes (76.065272ms)
2026-10-16T04:22:23.9294078Z ✔ revoking an unused invite gives it back; an expired one never counted (142.478935ms)
2026-10-16T04:22:23.9294230Z ✔ a used invite is spent: revoking it does nothing and it still counts (64.814701ms)
2026-10-16T04:22:23.9294318Z ✔ a pending invite for the same address is found; a revoked one is not (67.794174ms)
2026-10-16T04:22:23.9294401Z ✔ staff grants add to the twenty and can take some back (64.921972ms)
2026-10-16T04:22:23.9294496Z ✔ signing up from the link spends the invite once and records who invited whom (60.897768ms)
2026-10-16T04:22:23.9294577Z ✔ a body that broke off is worth another try, a lockfile out of step is not (2.043622ms)
2026-10-16T04:22:23.9296544Z ✔ an install that ends without saying why, or stalls, is tried again (0.357531ms)
2026-10-16T04:22:23.9296841Z ✔ a dropped connection is tried again until the install passes (3.931124ms)
2026-10-16T04:22:23.9297229Z ✔ a real error fails at once (0.38617ms)
2026-10-16T04:22:23.9297290Z ✔ it gives up after its tries, with npm's exit code (0.495601ms)
2026-10-16T04:22:23.9297318Z ✔ a stalled install is run again (0.414601ms)
2026-10-16T04:22:23.9297513Z ✔ webhooks: the hourly purge deletes old deliveries by time (3.086852ms)
2026-10-16T04:22:23.9297586Z ✔ billing: this month's users are read from an index, not the ledger (73.75468ms)
2026-10-16T04:22:23.9297648Z ✔ events: a repository's events of one type, newest first, page by page (6.354326ms)
2026-10-16T04:22:23.9297710Z ✔ actions: a self-hosted runner's poll finds queued jobs by namespace, whatever its case (20.008689ms)
2026-10-16T04:22:23.9297769Z ✔ chat: a channel's messages and a thread's replies, newest first, page by page (5.916766ms)
2026-10-16T04:22:23.9297882Z ✔ chat: the sidebar's unread messages are read from each channel's index, after the last read (5.342635ms)
2026-10-16T04:22:23.9297942Z ✔ chat: a page's reactions are read by message, and a workspace's emoji by name (5.687275ms)
2026-10-16T04:22:23.9297999Z ✔ the runner's layer is the binary alone, at its path and mode, owned by root (9.106879ms)
2026-10-16T04:22:23.9298073Z ✔ the layer and entrypoint are what services/runner/Dockerfile builds (0.903001ms)
2026-10-16T04:22:23.9298147Z ✔ the config is the base's, with the layer, the entrypoint and no inherited command (1.327662ms)
2026-10-16T04:22:23.9298239Z ✔ the manifest names the base's layers, then the binary's, in the base's format (0.51805ms)
2026-10-16T04:22:23.9298325Z ✔ image references and bearer challenges are read (1.087101ms)
2026-10-16T04:22:23.9298459Z ✔ the runner's image is made in the registry from the base's manifest and one new layer, pulling none of the base (46.791135ms)
2026-10-16T04:22:23.9298545Z ✔ a base that is not where it should be, or not what base.json says, stops it (1.621922ms)
2026-10-16T04:22:23.9299484Z ✔ a registry that asks for a bearer token is given the one its realm trades the credentials for (3.141783ms)
2026-10-16T04:22:23.9299579Z scheduler: g1t-webhooks (* * * * *) is still running from the last time; skipped
2026-10-16T04:22:23.9299666Z scheduler: g1t-webhooks (* * * * *): 200 {"outcome":"exception"}
2026-10-16T04:22:23.9299750Z ✔ fields read numbers, ranges, lists and steps (2.987453ms)
2026-10-16T04:22:23.9299826Z ✔ the services' crons match when hosted g1t's would fire (2.516142ms)
2026-10-16T04:22:23.9299908Z ✔ what is due is each matching cron of each service (0.946701ms)
2026-10-16T04:22:23.9299994Z ✔ a run asks Wrangler for the handler, and a slow one is not doubled (53.614521ms)
2026-10-16T04:22:23.9300090Z ✔ a deploy is announced to status.g1t.sh with the token, and without one nothing is sent (107.246463ms)
2026-10-16T04:22:23.9300163Z ✔ an announcement that fails is a warning, never a failed deploy (1.322372ms)
2026-10-16T04:22:23.9300248Z ✔ the stages run inside the window: started before, finished after, even when they throw; a dry run says nothing (1.302291ms)
2026-10-16T04:22:23.9300307Z ✔ deploy.mjs announces every deploy, and the workflow passes it the token (0.780631ms)
2026-10-16T04:22:23.9300365Z ✔ discover actual hashed assets without archiving icons, source maps or library defaults (3.209683ms)
2026-10-16T04:22:23.9300425Z ✔ archive the old release's transitive chunks before replacing it (39.952968ms)
2026-10-16T04:22:23.9300492Z ✔ archive failures block cutover and immutable filename collisions are refused (5.699466ms)
2026-10-16T04:22:23.9300576Z ✔ a missing live asset aborts the archive instead of saving an HTML error as CSS (1.919892ms)
2026-10-16T04:22:23.9300660Z ✔ a release manifest skips unchanged uploads without scanning deployment history (2.289962ms)
2026-10-16T04:22:23.9300738Z ✔ provider rate limits wait and retry; persistent failure remains a failure (2.343413ms)
2026-10-16T04:22:23.9300820Z ✔ cutover verifies old and new assets and rejects HTML fallback or wrong build (4.710764ms)
2026-10-16T04:22:23.9300919Z ✔ cutover tolerates propagation delay but still requires the expected build and asset bytes (3.918844ms)
2026-10-16T04:22:23.9301024Z ✔ 1000 successive releases keep old tabs' assets and perform bounded incremental archive work (4515.297396ms)
2026-10-16T04:22:23.9301041Z ℹ tests 101
2026-10-16T04:22:23.9301052Z ℹ suites 0
2026-10-16T04:22:23.9301063Z ℹ pass 100
2026-10-16T04:22:23.9301076Z ℹ fail 0
2026-10-16T04:22:23.9301087Z ℹ cancelled 0
2026-10-16T04:22:23.9301097Z ℹ skipped 1
2026-10-16T04:22:23.9301108Z ℹ todo 0
2026-10-16T04:22:23.9301120Z ℹ duration_ms 11634.134115
2026-10-16T04:22:24.8019909Z [command]/usr/bin/git version
2026-10-16T04:22:24.8119868Z git version 2.39.5
2026-10-16T04:22:24.8249785Z Temporarily overriding HOME='/home/runner/_temp/7f7ef00b-9b3e-46c6-8966-f83b2c8a5a20' before making global git config changes
2026-10-16T04:22:24.8252513Z Adding repository directory to the temporary git global config as a safe directory
2026-10-16T04:22:24.8262513Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/repo
2026-10-16T04:22:24.8364859Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-16T04:22:24.8454035Z [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-16T04:22:24.9157792Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/g1t\.sh\/\.extraheader
2026-10-16T04:22:24.9228724Z http.https://g1t.sh/.extraheader
2026-10-16T04:22:24.9263857Z [command]/usr/bin/git config --local --unset-all http.https://g1t.sh/.extraheader
2026-10-16T04:22:24.9351369Z [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-16T04:22:25.0121570Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-16T04:22:25.0212365Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-16T04:22:25.7176510Z Cleaning up orphan processes
