2026-10-20T05:58:24.8774894Z Current runner version: '0.3.5'
2026-10-20T05:58:24.8774915Z Runner name: 'g1t'
2026-10-20T05:58:24.8774924Z ##[group]Operating System
2026-10-20T05:58:24.8774933Z Debian GNU/Linux
2026-10-20T05:58:24.8774940Z 12 (bookworm)
2026-10-20T05:58:24.8774949Z ##[endgroup]
2026-10-20T05:58:24.8774955Z ##[group]Runner Image
2026-10-20T05:58:24.8774980Z Included Software: Node 24, Python 3, Go, Rust
2026-10-20T05:58:24.8774986Z ##[endgroup]
2026-10-20T05:58:24.8774994Z ##[group]Machine
2026-10-20T05:58:24.8775001Z Hosted by g1t
2026-10-20T05:58:24.8775006Z Architecture: X64
2026-10-20T05:58:24.8775012Z CPUs: 4
2026-10-20T05:58:24.8775019Z Memory: 11.9 GB
2026-10-20T05:58:24.8775024Z ##[endgroup]
2026-10-20T05:58:24.8775030Z ##[group]G1T_TOKEN Permissions
2026-10-20T05:58:24.8775035Z Contents: read
2026-10-20T05:58:24.8775042Z Metadata: read
2026-10-20T05:58:24.8775048Z ##[endgroup]
2026-10-20T05:58:24.8775061Z Secret source: Actions
2026-10-20T05:58:24.8775069Z Prepare workflow directory
2026-10-20T05:58:24.8879444Z Prepare all required actions
2026-10-20T05:58:24.8879470Z Getting action download info
2026-10-20T05:58:24.8880769Z Getting action download info for 'actions/checkout@v5'
2026-10-20T05:58:25.3555746Z Download action repository 'actions/checkout@v5' (SHA:fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09) from g1t
2026-10-20T05:58:25.7881865Z Getting action download info for 'actions/cache@v4'
2026-10-20T05:58:26.3586458Z Download action repository 'actions/cache@v4' (SHA:0057852bfaa89a56745cba8c7296529d2fc39830) from g1t
2026-10-20T05:58:26.8157057Z Complete job name: Check
2026-10-20T05:58:27.1806534Z ##[group]Run actions/checkout@v5
2026-10-20T05:58:27.1806582Z with:
2026-10-20T05:58:27.1806590Z   allow-unsafe-pr-checkout: false
2026-10-20T05:58:27.1806599Z   clean: true
2026-10-20T05:58:27.1806605Z   fetch-depth: 1
2026-10-20T05:58:27.1806614Z   fetch-tags: false
2026-10-20T05:58:27.1806621Z   filter: 
2026-10-20T05:58:27.1806628Z   github-server-url: 
2026-10-20T05:58:27.1806634Z   lfs: false
2026-10-20T05:58:27.1806640Z   path: 
2026-10-20T05:58:27.1806647Z   persist-credentials: true
2026-10-20T05:58:27.1806653Z   ref: 
2026-10-20T05:58:27.1806659Z   repository: flagon-io/g1t
2026-10-20T05:58:27.1806664Z   set-safe-directory: true
2026-10-20T05:58:27.1806670Z   show-progress: true
2026-10-20T05:58:27.1806676Z   sparse-checkout: 
2026-10-20T05:58:27.1806682Z   sparse-checkout-cone-mode: true
2026-10-20T05:58:27.1806687Z   ssh-key: 
2026-10-20T05:58:27.1806693Z   ssh-known-hosts: 
2026-10-20T05:58:27.1806701Z   ssh-strict: true
2026-10-20T05:58:27.1806707Z   ssh-user: git
2026-10-20T05:58:27.1806713Z   submodules: false
2026-10-20T05:58:27.1806753Z   token: ***
2026-10-20T05:58:27.1806759Z env:
2026-10-20T05:58:27.1806764Z   CARGO_TERM_COLOR: never
2026-10-20T05:58:27.1806817Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-20T05:58:27.1806823Z   WRANGLER_SEND_METRICS: false
2026-10-20T05:58:27.1806829Z ##[endgroup]
2026-10-20T05:58:27.8392388Z Syncing repository: flagon-io/g1t
2026-10-20T05:58:27.8392440Z ##[group]Getting Git version info
2026-10-20T05:58:27.8392477Z Working directory is '/home/runner/work/repo'
2026-10-20T05:58:27.8413498Z [command]/usr/bin/git version
2026-10-20T05:58:27.8500868Z git version 2.39.5
2026-10-20T05:58:27.8517701Z ##[endgroup]
2026-10-20T05:58:27.8529727Z Temporarily overriding HOME='/home/runner/_temp/01a97218-45b9-40ca-b7c0-ee1b75674d6e' before making global git config changes
2026-10-20T05:58:27.8529933Z Adding repository directory to the temporary git global config as a safe directory
2026-10-20T05:58:27.8533320Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/repo
2026-10-20T05:58:27.8560571Z Deleting the contents of '/home/runner/work/repo'
2026-10-20T05:58:27.8563592Z ##[group]Initializing the repository
2026-10-20T05:58:27.8566428Z [command]/usr/bin/git init /home/runner/work/repo
2026-10-20T05:58:27.8612431Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-10-20T05:58:27.8612500Z hint: is subject to change. To configure the initial branch name to use in all
2026-10-20T05:58:27.8612549Z hint: of your new repositories, which will suppress this warning, call:
2026-10-20T05:58:27.8612560Z hint: 
2026-10-20T05:58:27.8612577Z hint: 	git config --global init.defaultBranch <name>
2026-10-20T05:58:27.8612586Z hint: 
2026-10-20T05:58:27.8612626Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-10-20T05:58:27.8612664Z hint: 'development'. The just-created branch can be renamed via this command:
2026-10-20T05:58:27.8612672Z hint: 
2026-10-20T05:58:27.8612681Z hint: 	git branch -m <name>
2026-10-20T05:58:27.8618688Z Initialized empty Git repository in /home/runner/work/repo/.git/
2026-10-20T05:58:27.8625435Z [command]/usr/bin/git remote add origin https://g1t.sh/flagon-io/g1t
2026-10-20T05:58:27.8649407Z ##[endgroup]
2026-10-20T05:58:27.8649460Z ##[group]Disabling automatic garbage collection
2026-10-20T05:58:27.8652578Z [command]/usr/bin/git config --local gc.auto 0
2026-10-20T05:58:27.8672631Z ##[endgroup]
2026-10-20T05:58:27.8672660Z ##[group]Setting up auth
2026-10-20T05:58:27.8678878Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-20T05:58:27.8701325Z [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-20T05:58:27.9759097Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/g1t\.sh\/\.extraheader
2026-10-20T05:58:27.9781397Z [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-20T05:58:27.9994521Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-20T05:58:28.0020783Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-20T05:58:28.0226027Z [command]/usr/bin/git config --local http.https://g1t.sh/.extraheader AUTHORIZATION: basic ***
2026-10-20T05:58:28.0252894Z ##[endgroup]
2026-10-20T05:58:28.0252942Z ##[group]Fetching the repository
2026-10-20T05:58:28.0258706Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +cfcfeb9c9e519b4c6a6a46c950fc5b517f3c0719:refs/remotes/origin/main
2026-10-20T05:58:32.3239088Z From https://g1t.sh/flagon-io/g1t
2026-10-20T05:58:32.5528889Z  * [new ref]         cfcfeb9c9e519b4c6a6a46c950fc5b517f3c0719 -> origin/main
2026-10-20T05:58:32.5528984Z ##[endgroup]
2026-10-20T05:58:32.5529029Z ##[group]Determining the checkout info
2026-10-20T05:58:32.5529047Z ##[endgroup]
2026-10-20T05:58:32.5529088Z [command]/usr/bin/git sparse-checkout disable
2026-10-20T05:58:32.5529176Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-10-20T05:58:32.5529218Z ##[group]Checking out the ref
2026-10-20T05:58:32.5529287Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
2026-10-20T05:58:32.5984635Z Switched to a new branch 'main'
2026-10-20T05:58:32.5985260Z branch 'main' set up to track 'origin/main'.
2026-10-20T05:58:32.5995685Z ##[endgroup]
2026-10-20T05:58:32.6030805Z [command]/usr/bin/git log -1 --format=%H
2026-10-20T05:58:32.6051411Z cfcfeb9c9e519b4c6a6a46c950fc5b517f3c0719
2026-10-20T05:58:33.1245483Z ##[group]Run actions/cache/restore@v4
2026-10-20T05:58:33.1245513Z with:
2026-10-20T05:58:33.1245521Z   enableCrossOsArchive: false
2026-10-20T05:58:33.1245529Z   fail-on-cache-miss: false
2026-10-20T05:58:33.1245613Z   key: npm-full-Linux-d193595f755da186e76061e433b790e8f1849037a491c81d42ae1f4257286974
2026-10-20T05:58:33.1245621Z   lookup-only: false
2026-10-20T05:58:33.1245627Z   path: ~/.npm
2026-10-20T05:58:33.1245633Z   restore-keys: npm-full-Linux-
2026-10-20T05:58:33.1245640Z env:
2026-10-20T05:58:33.1245646Z   CARGO_TERM_COLOR: never
2026-10-20T05:58:33.1245691Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-20T05:58:33.1245697Z   WRANGLER_SEND_METRICS: false
2026-10-20T05:58:33.1245702Z ##[endgroup]
2026-10-20T05:58:33.2186072Z (node:1222) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-10-20T05:58:33.2186214Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-10-20T05:58:37.5884725Z Cache Size: ~456 MB (477763572 B)
2026-10-20T05:58:37.8515907Z [command]/usr/bin/tar -xf /home/runner/_temp/e02e820e-269e-4999-ab8e-5121080ac5bc/cache.tzst -P -C /home/runner/work/repo --use-compress-program unzstd
2026-10-20T05:58:38.8010363Z Cache restored successfully
2026-10-20T05:58:38.8010484Z Cache restored from key: npm-full-Linux-d193595f755da186e76061e433b790e8f1849037a491c81d42ae1f4257286974
2026-10-20T05:58:39.2375244Z ##[group]Run node scripts/deploy/npm-ci.mjs --prefer-offline --workspaces=false --no-audit --no-fund
2026-10-20T05:58:39.2375321Z [36;1mnode scripts/deploy/npm-ci.mjs --prefer-offline --workspaces=false --no-audit --no-fund[0m
2026-10-20T05:58:39.2375330Z shell: /usr/bin/bash -e {0}
2026-10-20T05:58:39.2375338Z env:
2026-10-20T05:58:39.2375344Z   CARGO_TERM_COLOR: never
2026-10-20T05:58:39.2375383Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-20T05:58:39.2375389Z   WRANGLER_SEND_METRICS: false
2026-10-20T05:58:39.2375401Z ##[endgroup]
2026-10-20T05:58:41.9955142Z 
2026-10-20T05:58:42.1905928Z added 40 packages in 3s
2026-10-20T05:58:42.1906084Z npm warn install-scripts 2 packages have install scripts not yet covered by allowScripts:
2026-10-20T05:58:42.1906159Z npm warn install-scripts   esbuild@0.28.1 (postinstall: node install.js)
2026-10-20T05:58:42.1906229Z npm warn install-scripts   workerd@1.20261001.1 (postinstall: node install.js)
2026-10-20T05:58:42.1906246Z npm warn install-scripts
2026-10-20T05:58:42.1906329Z npm warn install-scripts Run `npm install-scripts ls` to review, or `npm install-scripts approve <pkg>` to allow.
2026-10-20T05:58:42.7776151Z ##[group]Run node scripts/deploy.mjs manifest --check
2026-10-20T05:58:42.7776190Z [36;1mnode scripts/deploy.mjs manifest --check[0m
2026-10-20T05:58:42.7776200Z shell: /usr/bin/bash -e {0}
2026-10-20T05:58:42.7776208Z env:
2026-10-20T05:58:42.7776216Z   CARGO_TERM_COLOR: never
2026-10-20T05:58:42.7776267Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-20T05:58:42.7776274Z   WRANGLER_SEND_METRICS: false
2026-10-20T05:58:42.7776283Z ##[endgroup]
2026-10-20T05:58:45.3985098Z deploy/stack.jsonc is consistent with every wrangler.jsonc.
2026-10-20T05:58:45.7725825Z ##[group]Run npm run test:deploy
2026-10-20T05:58:45.7725858Z [36;1mnpm run test:deploy[0m
2026-10-20T05:58:45.7725870Z shell: /usr/bin/bash -e {0}
2026-10-20T05:58:45.7725877Z env:
2026-10-20T05:58:45.7725883Z   CARGO_TERM_COLOR: never
2026-10-20T05:58:45.7725956Z   CLOUDFLARE_ACCOUNT_ID: 1e6f2cffa3f445920836e8ebe446bb58
2026-10-20T05:58:45.7725963Z   WRANGLER_SEND_METRICS: false
2026-10-20T05:58:45.7725969Z ##[endgroup]
2026-10-20T05:58:46.3843397Z 
2026-10-20T05:58:46.3843512Z > test:deploy
2026-10-20T05:58:46.3843543Z > node --test "scripts/deploy/*.test.mjs"
2026-10-20T05:58:46.3843558Z 
2026-10-20T05:58:46.4826701Z ✔ a release's version bump keeps the Rust caches' key, a new dependency changes it (1.99297ms)
2026-10-20T05:58:46.4826800Z ✔ the toolchain is read from rustc -V (0.21554ms)
2026-10-20T05:58:46.4826876Z ✔ the CLI's builder image is pinned, and keys its cache by its digest (0.23656ms)
2026-10-20T05:58:46.4826982Z ✔ a unit's hash is read from its files and folders (0.22671ms)
2026-10-20T05:58:46.4833260Z ✔ only the units the build did not use are pruned (2.61314ms)
2026-10-20T05:58:47.0539037Z error: no matching package named `base64` found
2026-10-20T05:58:47.0539569Z location searched: crates.io index
2026-10-20T05:58:47.0539907Z required by package `g1t-api v0.1.0 (/home/runner/work/repo/apps/api)`
2026-10-20T05:58:47.0540225Z note: offline mode (via `--offline`) can sometimes cause surprising resolution failures
2026-10-20T05:58:47.0543185Z help: if this error is too confusing you may wish to retry without `--offline`
2026-10-20T05:58:47.2760458Z ✔ the manifest matches every wrangler config in the repository (27.520728ms)
2026-10-20T05:58:47.2762262Z ✔ every wrangler.jsonc is found, and only checked-in ones (21.213359ms)
2026-10-20T05:58:47.2768316Z ✔ problems are found: an unlisted config, a later-stage binding, a wrong database, an unnamed KV (18.365429ms)
2026-10-20T05:58:47.2768714Z ✔ stages follow bindings: nothing binds to a unit that ships after it (0.32515ms)
2026-10-20T05:58:47.2769719Z ✔ inside a stage, a Worker that does not exist yet goes before those bound to it (0.67405ms)
2026-10-20T05:58:47.2803389Z ✔ Rust workers build with the shared script and the same wasm-opt level (0.58728ms)
2026-10-20T05:58:47.2804139Z ✔ shared crates and packages are read from workspace metadata (0.19082ms)
2026-10-20T05:58:47.2804787Z ✔ the runner's image is built from the runner crate and what it uses, on the base its lock names (2.8565ms)
2026-10-20T05:58:47.2805391Z ✔ services/runner/base.json records the base its folder builds (6.60919ms)
2026-10-20T05:58:47.2806510Z ✔ an image's hash ignores line endings, and its tags say what they are (82.607095ms)
2026-10-20T05:58:47.2807812Z ✔ only the lockfile entries the runner is built from name its image (0.38937ms)
2026-10-20T05:58:47.2809573Z ✔ the runner's deploy config names its image by reference, beside its wrangler.jsonc (17.477459ms)
2026-10-20T05:58:47.2809798Z ✔ the registry is asked for an image's manifest, without Docker (0.72702ms)
2026-10-20T05:58:47.2810513Z ✔ a push counts only when it ends with a digest, and is tried again (0.54607ms)
2026-10-20T05:58:47.2810576Z ✔ a static Linux binary is told from a dynamic one (0.62282ms)
2026-10-20T05:58:47.2811950Z ﹣ path dependencies agree with Cargo's own resolved graph (363.410768ms) # cargo metadata could not resolve offline
2026-10-20T05:58:47.2814823Z ✔ every import that leaves a unit's folder is covered by its dependencies or inputs (61.881416ms)
2026-10-20T05:58:47.2814900Z ✔ a shared crate's change reaches every unit built from it, and no other (0.846829ms)
2026-10-20T05:58:47.2814957Z ✔ a shared package's change reaches what imports it (0.286509ms)
2026-10-20T05:58:47.2815012Z ✔ a crate's tests, benches and examples deploy nothing (0.546819ms)
2026-10-20T05:58:47.2833216Z ✔ a Rust file compiled only for tests is found from what declares it (0.97771ms)
2026-10-20T05:58:47.2833307Z ✔ this repository's test-only sources are read from git (139.609072ms)
2026-10-20T05:58:47.2833367Z ✔ decide: a change only to tests deploys nothing (1.39595ms)
2026-10-20T05:58:47.2833419Z ✔ own folders, declared inputs and root files (0.47203ms)
2026-10-20T05:58:47.2833471Z ✔ a Cargo.lock change reaches only crates that use what changed (0.52834ms)
2026-10-20T05:58:47.2833518Z ✔ a package-lock change reaches through workspace links (0.56456ms)
2026-10-20T05:58:47.2833565Z ✔ decide: changed units deploy, others wait, unknown ones deploy (0.37699ms)
2026-10-20T05:58:47.2833621Z ✔ decide: --force deploys unchanged units; a commit missing from history deploys (0.18543ms)
2026-10-20T05:58:47.2834094Z ✔ decide: Cargo.lock counts only where it reaches (0.52479ms)
2026-10-20T05:58:47.2834152Z ✔ decide: the runner's image rebuilds only when what it is built from changed (0.22218ms)
2026-10-20T05:58:47.2834208Z ✔ the plan as data: migrations, and each stage's units in jobs that share a build (1.20356ms)
2026-10-20T05:58:47.2834258Z ✔ units are picked by short name, folder or Worker name (0.55417ms)
2026-10-20T05:58:47.2834304Z ✔ a CI job installs only what its units need (1.02262ms)
2026-10-20T05:58:47.2839434Z ✔ a deploy is annotated with its commit, and read back (0.24566ms)
2026-10-20T05:58:47.2841209Z ✔ the live commit: the live version's, looking through secret changes (0.42224ms)
2026-10-20T05:58:47.2842215Z ✔ Wrangler's output: pending migrations and the version a deploy made (0.43224ms)
2026-10-20T05:58:47.2843218Z ✔ the API's answers: the live commit as Wrangler's would give it (1.30521ms)
2026-10-20T05:58:47.7731406Z ✔ the API's answers: a Worker never deployed, and a refusal, never throw (501.743171ms)
2026-10-20T05:58:47.9650598Z ✔ the API is used only with the token Wrangler would be given (0.324949ms)
2026-10-20T05:58:47.9650706Z ✔ pending migrations: the folder's files less the names in d1_migrations (1.317989ms)
2026-10-20T05:58:47.9650767Z ✔ the pool runs everything, no more than its limit at once (15.195419ms)
2026-10-20T05:58:47.9650828Z ✔ self-hosting builds every Rust service the manifest says it runs (0.399089ms)
2026-10-20T05:58:47.9650878Z ✔ the self-hosting architecture page names every unit (0.18578ms)
2026-10-20T05:58:47.9651028Z ✔ the architecture's services page names every unit, with the services it binds to (2.088959ms)
2026-10-20T05:58:47.9651085Z ✔ resolveStack works on a manifest with no workspace crates or packages (1.93939ms)
2026-10-20T05:58:47.9651167Z ✔ decide: a commit older than what runs is never deployed by accident, even forced; --rollback means it (0.17344ms)
2026-10-20T05:58:47.9651223Z ✔ a deploy by hand reports to the repository on g1t, and a workflow's does not (1.36825ms)
2026-10-20T05:58:47.9651278Z ✔ a failed wrangler command is reported by its error, not its trace (0.20516ms)
2026-10-20T05:58:47.9651331Z ✔ Cloudflare failing is tried again; a mistake in what is deployed is not (0.30251ms)
2026-10-20T05:58:47.9651391Z ✔ sandboxes roll over at once when their image or container settings changed, and not otherwise (0.19817ms)
2026-10-20T05:58:47.9651444Z ✔ the deploy tool itself parses: a test that never imports it would not notice (26.610208ms)
2026-10-20T05:58:47.9651460Z ✔ the statements are all there (0.75835ms)
2026-10-20T05:58:47.9651510Z ✔ twenty invites each: the twenty-first is refused in the statement that writes (41.026338ms)
2026-10-20T05:58:47.9651559Z ✔ revoking an unused invite gives it back; an expired one never counted (70.534706ms)
2026-10-20T05:58:47.9651727Z ✔ a used invite is spent: revoking it does nothing and it still counts (31.449318ms)
2026-10-20T05:58:47.9651783Z ✔ a pending invite for the same address is found; a revoked one is not (32.416798ms)
2026-10-20T05:58:47.9651833Z ✔ staff grants add to the twenty and can take some back (30.272808ms)
2026-10-20T05:58:47.9651887Z ✔ signing up from the link spends the invite once and records who invited whom (31.430078ms)
2026-10-20T05:58:47.9651934Z ✔ a body that broke off is worth another try, a lockfile out of step is not (1.00983ms)
2026-10-20T05:58:47.9651981Z ✔ an install that ends without saying why, or stalls, is tried again (0.143371ms)
2026-10-20T05:58:47.9652032Z ✔ a dropped connection is tried again until the install passes (1.77698ms)
2026-10-20T05:58:47.9652047Z ✔ a real error fails at once (0.192009ms)
2026-10-20T05:58:47.9652094Z ✔ it gives up after its tries, with npm's exit code (0.2256ms)
2026-10-20T05:58:47.9652117Z ✔ a stalled install is run again (0.158309ms)
2026-10-20T05:58:47.9652166Z ✔ webhooks: the hourly purge deletes old deliveries by time (1.647489ms)
2026-10-20T05:58:47.9652217Z ✔ billing: this month's users are read from an index, not the ledger (51.085677ms)
2026-10-20T05:58:47.9652276Z ✔ events: a repository's events of one type, newest first, page by page (4.20996ms)
2026-10-20T05:58:47.9652333Z ✔ actions: a self-hosted runner's poll finds queued jobs by namespace, whatever its case (12.084969ms)
2026-10-20T05:58:47.9652391Z ✔ chat: a channel's messages and a thread's replies, newest first, page by page (2.764499ms)
2026-10-20T05:58:47.9652456Z ✔ chat: the sidebar's unread messages are read from each channel's index, after the last read (3.00886ms)
2026-10-20T05:58:47.9652690Z ✔ chat: a page's reactions are read by message, and a workspace's emoji by name (3.47759ms)
2026-10-20T05:58:47.9652746Z ✔ the runner's layer is the binary alone, at its path and mode, owned by root (3.46266ms)
2026-10-20T05:58:47.9652800Z ✔ the layer and entrypoint are what services/runner/Dockerfile builds (0.34902ms)
2026-10-20T05:58:47.9652846Z ✔ the config is the base's, with the layer, the entrypoint and no inherited command (0.69377ms)
2026-10-20T05:58:47.9652888Z ✔ the manifest names the base's layers, then the binary's, in the base's format (0.29155ms)
2026-10-20T05:58:47.9652930Z ✔ image references and bearer challenges are read (0.52029ms)
2026-10-20T05:58:47.9652987Z ✔ the runner's image is made in the registry from the base's manifest and one new layer, pulling none of the base (20.318699ms)
2026-10-20T05:58:47.9653028Z ✔ a base that is not where it should be, or not what base.json says, stops it (0.79333ms)
2026-10-20T05:58:47.9653081Z ✔ a registry that asks for a bearer token is given the one its realm trades the credentials for (1.49151ms)
2026-10-20T05:58:47.9653119Z scheduler: g1t-webhooks (* * * * *) is still running from the last time; skipped
2026-10-20T05:58:47.9653159Z scheduler: g1t-webhooks (* * * * *): 200 {"outcome":"exception"}
2026-10-20T05:58:47.9653206Z ✔ fields read numbers, ranges, lists and steps (1.41042ms)
2026-10-20T05:58:47.9653258Z ✔ the services' crons match when hosted g1t's would fire (1.13977ms)
2026-10-20T05:58:47.9653310Z ✔ what is due is each matching cron of each service (0.35096ms)
2026-10-20T05:58:47.9653361Z ✔ a run asks Wrangler for the handler, and a slow one is not doubled (93.612434ms)
2026-10-20T05:58:47.9653414Z ✔ a deploy is announced to status.g1t.sh with the token, and without one nothing is sent (22.847328ms)
2026-10-20T05:58:47.9653460Z ✔ an announcement that fails is a warning, never a failed deploy (0.67017ms)
2026-10-20T05:58:47.9653530Z ✔ the stages run inside the window: started before, finished after, even when they throw; a dry run says nothing (0.92395ms)
2026-10-20T05:58:47.9653584Z ✔ deploy.mjs announces every deploy, and the workflow passes it the token (0.52217ms)
2026-10-20T05:58:47.9653637Z ✔ discover actual hashed assets without archiving icons, source maps or library defaults (2.97472ms)
2026-10-20T05:58:47.9653690Z ✔ archive the old release's transitive chunks before replacing it (28.363018ms)
2026-10-20T05:58:47.9653742Z ✔ archive failures block cutover and immutable filename collisions are refused (3.03494ms)
2026-10-20T05:58:47.9653795Z ✔ a missing live asset aborts the archive instead of saving an HTML error as CSS (1.20897ms)
2026-10-20T05:58:47.9653849Z ✔ a release manifest skips unchanged uploads without scanning deployment history (0.75923ms)
2026-10-20T05:58:47.9653902Z ✔ provider rate limits wait and retry; persistent failure remains a failure (2.23876ms)
2026-10-20T05:58:47.9653955Z ✔ cutover verifies old and new assets and rejects HTML fallback or wrong build (2.239051ms)
2026-10-20T05:58:47.9654019Z ✔ cutover tolerates propagation delay but still requires the expected build and asset bytes (2.28035ms)
2026-10-20T05:58:47.9654085Z ✔ 1000 successive releases keep old tabs' assets and perform bounded incremental archive work (937.726434ms)
2026-10-20T05:58:47.9654096Z ℹ tests 101
2026-10-20T05:58:47.9654108Z ℹ suites 0
2026-10-20T05:58:47.9654118Z ℹ pass 100
2026-10-20T05:58:47.9654129Z ℹ fail 0
2026-10-20T05:58:47.9654140Z ℹ cancelled 0
2026-10-20T05:58:47.9654358Z ℹ skipped 1
2026-10-20T05:58:47.9654396Z ℹ todo 0
2026-10-20T05:58:47.9654410Z ℹ duration_ms 1538.683129
2026-10-20T05:58:48.5283231Z [command]/usr/bin/git version
2026-10-20T05:58:48.5310009Z git version 2.39.5
2026-10-20T05:58:48.5337501Z Temporarily overriding HOME='/home/runner/_temp/bbc58113-0ee2-42e3-ac49-42106e49f159' before making global git config changes
2026-10-20T05:58:48.5337641Z Adding repository directory to the temporary git global config as a safe directory
2026-10-20T05:58:48.5341160Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/repo
2026-10-20T05:58:48.5369779Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-20T05:58:48.5395547Z [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-20T05:58:48.5628890Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/g1t\.sh\/\.extraheader
2026-10-20T05:58:48.5645875Z http.https://g1t.sh/.extraheader
2026-10-20T05:58:48.5653195Z [command]/usr/bin/git config --local --unset-all http.https://g1t.sh/.extraheader
2026-10-20T05:58:48.5675959Z [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-20T05:58:48.5875661Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-20T05:58:48.5897307Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-20T05:58:49.1022849Z Cleaning up orphan processes
