main 6a915d6

Test success 10m 13s

Annotations 1

  • Complete job

    warning

    Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-go@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

  1. Current runner version: 'v0.5.0'
  2. GITHUB_TOKEN Permissions
  3. Contents: read
  4. Metadata: read
  5. Packages: read
  6. Secret source: Actions
  7. Cache mode: write
  8. Prepare workflow directory
  9. Prepare all required actions
  10. Getting action download info
  11. Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803)
  12. Download action repository 'actions/setup-go@v5' (SHA:40f1582b2485089dde7abd97c1529aa768e1baff)
  13. Complete job name: Test
  14. Checking docker version
  15. ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}'
  16. '1.56'
  17. Docker daemon API version: '1.56'
  18. ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}'
  19. '1.56'
  20. Docker client API version: '1.56'
  21. Clean up resources from previous jobs
  22. ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=630fd1"
  23. ##[command]/usr/bin/docker network prune --force --filter "label=630fd1"
  24. Create local container network
  25. ##[command]/usr/bin/docker network create --label 630fd1 github_network_4144daba39744a71b9c741722fd68f67
  26. 968cfe992fdf98df5bf1eb10cb1ba9ec38585b9ccd7449e09452163cc87b6fc6
  27. Starting job container
  28. ##[command]/usr/bin/docker pull archlinux:latest
  29. latest: Pulling from library/archlinux
  30. d2cc54e7adee: Pulling fs layer
  31. 55924c9eac0d: Pulling fs layer
  32. 55924c9eac0d: Verifying Checksum
  33. 55924c9eac0d: Download complete
  34. d2cc54e7adee: Download complete
  35. d2cc54e7adee: Pull complete
  36. 55924c9eac0d: Pull complete
  37. Digest: sha256:3c64b538588416593f69a1aebd2f2ec0f2541b29159f32556fa7def2167147a0
  38. Status: Downloaded newer image for archlinux:latest
  39. docker.io/library/archlinux:latest
  40. ##[command]/usr/bin/docker create --name ac7535de6f904d88b1d4cde048fc5602_archlinuxlatest_08ecdd --label 630fd1 --workdir /__w/ermite/ermite --network github_network_4144daba39744a71b9c741722fd68f67 -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work":"/__w" -v "/home/runner/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" archlinux:latest "-f" "/dev/null"
  41. a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1
  42. ##[command]/usr/bin/docker start a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1
  43. a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1
  44. ##[command]/usr/bin/docker ps --all --filter id=a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
  45. a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1 Up Less than a second
  46. ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1
  47. CI=true
  48. HOME=/github/home
  49. GITHUB_ACTIONS=true
  50. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  51. LANG=C.UTF-8
  52. Waiting for all services to be ready
  53. Run pacman -Syu --noconfirm --needed git gcc openssh nodejs
  54. <U+001B>[36;1mpacman -Syu --noconfirm --needed git gcc openssh nodejs<U+001B>[0m
  55. shell: sh -e {0}
  56. env:
  57. GOWORK: off
  58. :: Synchronizing package databases...
  59. core downloading...
  60. extra downloading...
  61. :: Starting full system upgrade...
  62. resolving dependencies...
  63. looking for conflicting packages...
  64. Package (28) Old Version New Version Net Change Download Size
  65. extra/abseil-cpp 20260817.0-2 7.15 MiB 1.35 MiB
  66. extra/ada 4.0.0-1 0.95 MiB 0.31 MiB
  67. extra/c-ares 1.34.8-1 0.53 MiB 0.23 MiB
  68. core/curl 8.22.0-1 8.23.0-1 0.01 MiB 1.31 MiB
  69. core/db5.3 5.3.28-7 6.48 MiB 1.26 MiB
  70. extra/gtest 1.18.0-1 1.67 MiB 0.39 MiB
  71. core/libarchive 3.8.9-1 3.8.10-1 0.01 MiB 0.57 MiB
  72. core/libedit 20260512_3.1-1 0.27 MiB 0.11 MiB
  73. core/libisl 0.28-1 5.90 MiB 0.94 MiB
  74. core/libmpc 1.4.1-1 0.19 MiB 0.09 MiB
  75. extra/libuv 1.52.1-2 0.64 MiB 0.26 MiB
  76. core/linux-api-headers 7.2-1 7.3-1 0.07 MiB 1.53 MiB
  77. core/pacman 7.1.0.r9.g54d9411-2 7.1.0.r9.g54d9411-3 0.00 MiB 0.95 MiB
  78. core/perl 5.44.0-1 72.30 MiB 20.98 MiB
  79. extra/perl-error 0.17030-3 0.04 MiB 0.02 MiB
  80. extra/perl-mailtools 2.22-3 0.10 MiB 0.06 MiB
  81. extra/perl-timedate 2.35-1 0.15 MiB 0.06 MiB
  82. extra/simdjson 1:5.0.5-1 10.27 MiB 0.44 MiB
  83. core/sqlite 3.53.4-1 3.54.0-1 0.18 MiB 2.39 MiB
  84. core/systemd 262-1 262.1-1 0.03 MiB 10.68 MiB
  85. core/systemd-libs 262-1 262.1-1 0.01 MiB 1.44 MiB
  86. core/systemd-sysvcompat 262-1 262.1-1 0.00 MiB 0.01 MiB
  87. core/zlib 1:1.3.2-3 1:1.3.2-4 0.00 MiB 0.08 MiB
  88. extra/zlib-ng 2.3.3-1 0.28 MiB 0.11 MiB
  89. core/gcc 16.2.1+r23+gd564253eb6c8-1 220.89 MiB 57.93 MiB
  90. extra/git 2.56.0-1 33.54 MiB 7.43 MiB
  91. extra/nodejs 26.12.0-1 64.12 MiB 17.48 MiB
  92. core/openssh 10.6p1-2 6.77 MiB 1.43 MiB
  93. Total Download Size: 129.84 MiB
  94. Total Installed Size: 509.44 MiB
  95. Net Upgrade Size: 432.55 MiB
  96. :: Proceed with installation? [Y/n]
  97. :: Retrieving packages...
  98. gcc-16.2.1+r23+gd564253eb6c8-1-x86_64 downloading...
  99. perl-5.44.0-1-x86_64 downloading...
  100. nodejs-26.12.0-1-x86_64 downloading...
  101. systemd-262.1-1-x86_64 downloading...
  102. git-2.56.0-1-x86_64 downloading...
  103. sqlite-3.54.0-1-x86_64 downloading...
  104. linux-api-headers-7.3-1-x86_64 downloading...
  105. systemd-libs-262.1-1-x86_64 downloading...
  106. openssh-10.6p1-2-x86_64 downloading...
  107. abseil-cpp-20260817.0-2-x86_64 downloading...
  108. curl-8.23.0-1-x86_64 downloading...
  109. db5.3-5.3.28-7-x86_64 downloading...
  110. pacman-7.1.0.r9.g54d9411-3-x86_64 downloading...
  111. libisl-0.28-1-x86_64 downloading...
  112. libarchive-3.8.10-1-x86_64 downloading...
  113. simdjson-1:5.0.5-1-x86_64 downloading...
  114. gtest-1.18.0-1-x86_64 downloading...
  115. ada-4.0.0-1-x86_64 downloading...
  116. libuv-1.52.1-2-x86_64 downloading...
  117. c-ares-1.34.8-1-x86_64 downloading...
  118. libedit-20260512_3.1-1-x86_64 downloading...
  119. zlib-ng-2.3.3-1-x86_64 downloading...
  120. libmpc-1.4.1-1-x86_64 downloading...
  121. zlib-1:1.3.2-4-x86_64 downloading...
  122. perl-timedate-2.35-1-any downloading...
  123. perl-mailtools-2.22-3-any downloading...
  124. perl-error-0.17030-3-any downloading...
  125. systemd-sysvcompat-262.1-1-x86_64 downloading...
  126. checking keyring...
  127. checking package integrity...
  128. loading package files...
  129. checking for file conflicts...
  130. :: Processing package changes...
  131. upgrading linux-api-headers...
  132. upgrading zlib...
  133. upgrading systemd-libs...
  134. upgrading sqlite...
  135. upgrading curl...
  136. installing db5.3...
  137. installing perl...
  138. installing perl-error...
  139. installing perl-timedate...
  140. installing perl-mailtools...
  141. installing zlib-ng...
  142. installing git...
  143. Optional dependencies for git
  144. git-zsh-completion: upstream zsh completion
  145. tk: gitk and git gui
  146. openssh: ssh transport and crypto [pending]
  147. man: show help with `git command --help`
  148. perl-libwww: git svn
  149. perl-term-readkey: git svn and interactive.singlekey setting
  150. perl-io-socket-ssl: git send-email TLS support
  151. perl-authen-sasl: git send-email TLS support
  152. perl-cgi: gitweb (web interface) support
  153. python: git svn & git p4
  154. subversion: git svn
  155. org.freedesktop.secrets: keyring credential helper
  156. libsecret: libsecret credential helper [installed]
  157. less: the default pager for git
  158. installing libisl...
  159. installing libmpc...
  160. installing gcc...
  161. Optional dependencies for gcc
  162. lib32-gcc-libs: for generating code for 32-bit ABI
  163. installing libedit...
  164. installing openssh...
  165. Optional dependencies for openssh
  166. libfido2: FIDO/U2F support
  167. sh: for ssh-copy-id and findssl.sh [installed]
  168. x11-ssh-askpass: input passphrase in X
  169. xorg-xauth: X11 forwarding
  170. installing gtest...
  171. Optional dependencies for gtest
  172. python: gmock generator
  173. installing abseil-cpp...
  174. installing ada...
  175. installing c-ares...
  176. installing libuv...
  177. installing simdjson...
  178. installing nodejs...
  179. Optional dependencies for nodejs
  180. npm: nodejs package manager
  181. upgrading libarchive...
  182. upgrading systemd...
  183. Creating group 'git' with GID 969.
  184. Creating user 'git' (git daemon user) with UID 969 and GID 969.
  185. upgrading pacman...
  186. upgrading systemd-sysvcompat...
  187. :: Running post-transaction hooks...
  188. ( 1/12) Creating system user accounts...
  189. ( 2/12) Creating temporary files...
  190. /usr/lib/tmpfiles.d/journal-nocow.conf:26: Failed to resolve specifier: uninitialized /etc/ detected, skipping.
  191. All rules containing unresolvable specifiers will be skipped.
  192. ( 3/12) Updating journal message catalog...
  193. ( 4/12) Updating udev hardware database...
  194. ( 5/12) Applying kernel sysctl settings...
  195. Skipped: Current root is not booted.
  196. ( 6/12) Reloading system manager configuration...
  197. Skipped: Current root is not booted.
  198. ( 7/12) Reloading user manager configuration...
  199. Skipped: Current root is not booted.
  200. ( 8/12) Enqueuing marked services...
  201. Skipped: Current root is not booted.
  202. ( 9/12) Reloading device manager configuration...
  203. Skipped: Current root is not booted.
  204. (10/12) Arming ConditionNeedsUpdate...
  205. (11/12) Reloading system bus configuration...
  206. Skipped: Current root is not booted.
  207. (12/12) Checking for old perl modules...
  208. Run actions/checkout@v6
  209. with:
  210. repository: bnema/ermite
  211. token: ***
  212. ssh-strict: true
  213. ssh-user: git
  214. persist-credentials: true
  215. clean: true
  216. sparse-checkout-cone-mode: true
  217. fetch-depth: 1
  218. fetch-tags: false
  219. show-progress: true
  220. lfs: false
  221. submodules: false
  222. set-safe-directory: true
  223. allow-unsafe-pr-checkout: false
  224. env:
  225. GOWORK: off
  226. ##[command]/usr/bin/docker exec a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1 sh -c "cat /etc/*release | grep ^ID"
  227. Syncing repository: bnema/ermite
  228. Getting Git version info
  229. Working directory is '/__w/ermite/ermite'
  230. [command]/usr/sbin/git version
  231. git version 2.56.0
  232. Temporarily overriding HOME='/__w/_temp/f66f694c-9772-4651-8669-76ace45ac15f' before making global git config changes
  233. Adding repository directory to the temporary git global config as a safe directory
  234. [command]/usr/sbin/git config --global --add safe.directory /__w/ermite/ermite
  235. Deleting the contents of '/__w/ermite/ermite'
  236. Determining repository object format
  237. Initializing the repository
  238. [command]/usr/sbin/git init /__w/ermite/ermite
  239. hint: Using 'master' as the name for the initial branch. This default branch name
  240. hint: will change to "main" in Git 3.0. To configure the initial branch name
  241. hint: to use in all of your new repositories, which will suppress this warning,
  242. hint: call:
  243. hint:
  244. hint: git config --global init.defaultBranch <name>
  245. hint:
  246. hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
  247. hint: 'development'. The just-created branch can be renamed via this command:
  248. hint:
  249. hint: git branch -m <name>
  250. hint:
  251. hint: Disable this message with "git config set advice.defaultBranchName false"
  252. Initialized empty Git repository in /__w/ermite/ermite/.git/
  253. [command]/usr/sbin/git remote add origin http://ermite:7341/bnema/ermite
  254. Disabling automatic garbage collection
  255. [command]/usr/sbin/git config --local gc.auto 0
  256. Setting up auth
  257. Removing SSH command configuration
  258. [command]/usr/sbin/git config --local --name-only --get-regexp core\.sshCommand
  259. [command]/usr/sbin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
  260. Removing HTTP extra header
  261. [command]/usr/sbin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader
  262. [command]/usr/sbin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.http\:\/\/ermite\:7341\/\.extraheader' && git config --local --unset-all 'http.http://ermite:7341/.extraheader' || :"
  263. Removing includeIf entries pointing to credentials config files
  264. [command]/usr/sbin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
  265. [command]/usr/sbin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
  266. [command]/usr/sbin/git config --file /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config http.http://ermite:7341/.extraheader AUTHORIZATION: basic ***
  267. [command]/usr/sbin/git config --local includeIf.gitdir:/__w/ermite/ermite/.git.path /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  268. [command]/usr/sbin/git config --local includeIf.gitdir:/__w/ermite/ermite/.git/worktrees/*.path /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  269. [command]/usr/sbin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  270. [command]/usr/sbin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  271. Fetching the repository
  272. [command]/usr/sbin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +d8e7d5b03a01f5f16f8d49f12a7e132355b40f06:refs/remotes/origin/main
  273. From http://ermite:7341/bnema/ermite
  274. * [new ref] d8e7d5b03a01f5f16f8d49f12a7e132355b40f06 -> origin/main
  275. [command]/usr/sbin/git branch --list --remote origin/main
  276. origin/main
  277. [command]/usr/sbin/git rev-parse refs/remotes/origin/main
  278. d8e7d5b03a01f5f16f8d49f12a7e132355b40f06
  279. Determining the checkout info
  280. [command]/usr/sbin/git sparse-checkout disable
  281. [command]/usr/sbin/git config --local --unset-all extensions.worktreeConfig
  282. Checking out the ref
  283. [command]/usr/sbin/git checkout --progress --force -B main refs/remotes/origin/main
  284. Switched to a new branch 'main'
  285. branch 'main' set up to track 'origin/main'.
  286. [command]/usr/sbin/git log -1 --format=%H
  287. d8e7d5b03a01f5f16f8d49f12a7e132355b40f06
  288. Run git config --global --add safe.directory "$GITHUB_WORKSPACE"
  289. <U+001B>[36;1mgit config --global --add safe.directory "$GITHUB_WORKSPACE"<U+001B>[0m
  290. shell: sh -e {0}
  291. env:
  292. GOWORK: off
  293. Run actions/setup-go@v5
  294. with:
  295. go-version-file: go.mod
  296. cache: true
  297. check-latest: false
  298. env:
  299. GOWORK: off
  300. ##[command]/usr/bin/docker exec a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1 sh -c "cat /etc/*release | grep ^ID"
  301. Setup go version spec 1.27.1
  302. Attempting to download 1.27.1...
  303. (node:361) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
  304. (Use `node --trace-deprecation ...` to show where the warning was created)
  305. matching 1.27.1...
  306. Acquiring 1.27.1 from https://github.com/actions/go-versions/releases/download/1.27.1-33583469715/go-1.27.1-linux-x64.tar.gz
  307. Extracting Go...
  308. [command]/usr/sbin/tar xz --warning=no-unknown-keyword --overwrite -C /__w/_temp/96f64970-b730-41c7-b140-190088096126 -f /__w/_temp/9e094b98-e7dc-42d1-a00b-9a9be9872619
  309. Successfully extracted go to /__w/_temp/96f64970-b730-41c7-b140-190088096126
  310. Adding to the cache ...
  311. Successfully cached go to /__t/go/1.27.1/x64
  312. Added go to the path
  313. Successfully set up Go version 1.27.1
  314. [command]/__t/go/1.27.1/x64/bin/go env GOMODCACHE
  315. [command]/__t/go/1.27.1/x64/bin/go env GOCACHE
  316. /github/home/go/pkg/mod
  317. /github/home/.cache/go-build
  318. Cache is not found
  319. go version go1.27.1 linux/amd64
  320. go env
  321. AR='ar'
  322. CC='gcc'
  323. CGO_CFLAGS='-O2 -g'
  324. CGO_CPPFLAGS=''
  325. CGO_CXXFLAGS='-O2 -g'
  326. CGO_ENABLED='1'
  327. CGO_FFLAGS='-O2 -g'
  328. CGO_LDFLAGS='-O2 -g'
  329. CXX='g++'
  330. GCCGO='gccgo'
  331. GO111MODULE=''
  332. GOAMD64='v1'
  333. GOARCH='amd64'
  334. GOAUTH='netrc'
  335. GOBIN='/github/home/go/bin'
  336. GOCACHE='/github/home/.cache/go-build'
  337. GOCACHEPROG=''
  338. GODEBUG=''
  339. GOENV='/github/home/.config/go/env'
  340. GOEXE=''
  341. GOEXPERIMENT=''
  342. GOFIPS140='off'
  343. GOFLAGS=''
  344. GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build452060115=/tmp/go-build -gno-record-gcc-switches'
  345. GOHOSTARCH='amd64'
  346. GOHOSTOS='linux'
  347. GOINSECURE=''
  348. GOMOD='/__w/ermite/ermite/go.mod'
  349. GOMODCACHE='/github/home/go/pkg/mod'
  350. GONOPROXY=''
  351. GONOSUMDB=''
  352. GOOS='linux'
  353. GOPACKAGESDRIVER=''
  354. GOPATH='/github/home/go'
  355. GOPRIVATE=''
  356. GOPROXY='https://proxy.golang.org,direct'
  357. GOROOT='/__t/go/1.27.1/x64'
  358. GOSUMDB='sum.golang.org'
  359. GOTELEMETRY='local'
  360. GOTELEMETRYDIR='/github/home/.config/go/telemetry'
  361. GOTMPDIR=''
  362. GOTOOLCHAIN='auto'
  363. GOTOOLDIR='/__t/go/1.27.1/x64/pkg/tool/linux_amd64'
  364. GOVCS=''
  365. GOVERSION='go1.27.1'
  366. GOWORK='off'
  367. PKG_CONFIG='pkg-config'
  368. Run git --version
  369. <U+001B>[36;1mgit --version<U+001B>[0m
  370. <U+001B>[36;1mv=$(git --version | sed -E 's/^git version ([0-9]+)\.([0-9]+).*/\1 \2/')<U+001B>[0m
  371. <U+001B>[36;1mset -- $v<U+001B>[0m
  372. <U+001B>[36;1mif [ "$1" -lt 2 ] || { [ "$1" -eq 2 ] && [ "$2" -lt 45 ]; }; then<U+001B>[0m
  373. <U+001B>[36;1m echo "git 2.45 or newer is required" >&2<U+001B>[0m
  374. <U+001B>[36;1m exit 1<U+001B>[0m
  375. <U+001B>[36;1mfi<U+001B>[0m
  376. shell: sh -e {0}
  377. env:
  378. GOWORK: off
  379. git version 2.56.0
  380. Run go mod tidy
  381. <U+001B>[36;1mgo mod tidy<U+001B>[0m
  382. <U+001B>[36;1mgit diff --exit-code -- go.mod go.sum<U+001B>[0m
  383. shell: sh -e {0}
  384. env:
  385. GOWORK: off
  386. go: downloading github.com/bnema/hexcheck v0.3.1
  387. go: downloading github.com/vektra/mockery/v3 v3.8.0
  388. go: downloading github.com/bufbuild/buf v1.73.0
  389. go: downloading google.golang.org/protobuf v1.36.12
  390. go: downloading github.com/a-h/templ v0.3.1020
  391. go: downloading github.com/air-verse/air v1.67.4
  392. go: downloading github.com/stretchr/testify v1.12.1
  393. go: downloading bnema.dev/ermite-api v0.9.0
  394. go: downloading connectrpc.com/connect v1.21.0
  395. go: downloading github.com/bnema/zerowrap v1.4.1
  396. go: downloading bnema.dev/ermite-git v0.1.0
  397. go: downloading golang.org/x/sys v0.49.0
  398. go: downloading bnema.dev/ermite-kv v0.1.0
  399. go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20260904194346-d0f1323225a4
  400. go: downloading github.com/ProtonMail/go-crypto v1.4.1
  401. go: downloading github.com/go-webauthn/webauthn v0.18.2
  402. go: downloading golang.org/x/crypto v0.57.0
  403. go: downloading github.com/descope/virtualwebauthn v1.0.5
  404. go: downloading github.com/bnema/kvconf v0.1.2
  405. go: downloading github.com/alecthomas/chroma/v2 v2.27.0
  406. go: downloading github.com/spf13/cobra v1.10.2
  407. go: downloading golang.org/x/term v0.46.0
  408. go: downloading github.com/yuin/goldmark v1.8.6
  409. go: downloading golang.org/x/text v0.42.0
  410. go: downloading bnema.dev/ermite-actions v0.2.0
  411. go: downloading github.com/golang-jwt/jwt/v5 v5.3.1
  412. go: downloading go.yaml.in/yaml/v3 v3.0.5
  413. go: downloading golang.org/x/tools v0.51.0
  414. go: downloading buf.build/go/app v0.2.1-0.20260824172350-b0e76892c61a
  415. go: downloading github.com/fatih/color v1.18.0
  416. go: downloading buf.build/go/standard v0.1.1-0.20260325175353-2b287e071df5
  417. go: downloading buf.build/go/bufplugin v0.10.0
  418. go: downloading github.com/rs/zerolog v1.35.1
  419. go: downloading gopkg.in/natefinch/lumberjack.v2 v2.2.1
  420. go: downloading github.com/stretchr/objx v0.5.3
  421. go: downloading github.com/go-viper/mapstructure/v2 v2.5.0
  422. go: downloading github.com/go-webauthn/x v0.3.1
  423. go: downloading github.com/google/go-tpm v0.9.8
  424. go: downloading github.com/google/uuid v1.6.0
  425. go: downloading github.com/tinylib/msgp v1.6.4
  426. go: downloading github.com/fxamacker/cbor/v2 v2.9.4
  427. go: downloading github.com/inconshreveable/mousetrap v1.1.0
  428. go: downloading github.com/spf13/pflag v1.0.10
  429. go: downloading github.com/dlclark/regexp2/v2 v2.2.1
  430. go: downloading github.com/google/go-cmp v0.7.0
  431. go: downloading go.uber.org/mock v0.6.0
  432. go: downloading github.com/alecthomas/assert/v2 v2.11.0
  433. go: downloading github.com/alecthomas/repr v0.5.2
  434. go: downloading gopkg.in/yaml.v3 v3.0.1
  435. go: downloading buf.build/go/interrupt v1.1.0
  436. go: downloading github.com/jedib0t/go-pretty/v6 v6.7.8
  437. go: downloading github.com/knadh/koanf/parsers/yaml v1.1.0
  438. go: downloading github.com/knadh/koanf/providers/structs v1.0.0
  439. go: downloading github.com/knadh/koanf/v2 v2.3.2
  440. go: downloading github.com/natefinch/atomic v1.0.1
  441. go: downloading github.com/cenkalti/backoff/v4 v4.3.0
  442. go: downloading github.com/cli/browser v1.3.0
  443. go: downloading github.com/fsnotify/fsnotify v1.9.0
  444. go: downloading golang.org/x/sync v0.23.0
  445. go: downloading dario.cat/mergo v1.0.2
  446. go: downloading github.com/andybalholm/brotli v1.2.0
  447. go: downloading github.com/gohugoio/hugo v0.164.0
  448. go: downloading github.com/joho/godotenv v1.5.1
  449. go: downloading github.com/pelletier/go-toml v1.9.5
  450. go: downloading github.com/mattn/go-colorable v0.1.15
  451. go: downloading github.com/mattn/go-isatty v0.0.24
  452. go: downloading github.com/google/go-containerregistry v0.22.1
  453. go: downloading buf.build/gen/go/bufbuild/registry/protocolbuffers/go v1.36.12-20260831211851-b4432e12a6e7.2
  454. go: downloading github.com/quic-go/quic-go v0.62.0
  455. go: downloading connectrpc.com/grpcreflect v1.3.0
  456. go: downloading github.com/bufbuild/protocompile v0.14.2-0.20260910151042-7436f7c76201
  457. go: downloading go.lsp.dev/jsonrpc2 v0.10.0
  458. go: downloading buf.build/go/bufprivateusage v0.1.0
  459. go: downloading buf.build/go/protovalidate v1.4.0
  460. go: downloading buf.build/go/protoyaml v0.7.0
  461. go: downloading connectrpc.com/otelconnect v0.9.0
  462. go: downloading github.com/bufbuild/protoplugin v0.0.0-20260414125817-25d1d281b46b
  463. go: downloading buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go v1.36.12-20260722160903-4d94f3df3a7b.2
  464. go: downloading pluginrpc.com/pluginrpc v0.5.0
  465. go: downloading buf.build/gen/go/bufbuild/protodescriptor/protocolbuffers/go v1.36.12-20250109164928-1da0de137947.2
  466. go: downloading buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.12-20260825204119-511051f7f437.2
  467. go: downloading github.com/klauspost/compress v1.20.0
  468. go: downloading github.com/cloudflare/circl v1.6.2
  469. go: downloading github.com/x448/float16 v0.8.4
  470. go: downloading github.com/philhofer/fwd v1.2.0
  471. go: downloading github.com/hexops/gotextdiff v1.0.3
  472. go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.7
  473. go: downloading gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c
  474. go: downloading github.com/fatih/structs v1.1.0
  475. go: downloading github.com/knadh/koanf/maps v0.1.2
  476. go: downloading github.com/brunoga/deep v1.3.1
  477. go: downloading github.com/knadh/koanf/providers/env v1.1.0
  478. go: downloading github.com/knadh/koanf/providers/file v1.2.1
  479. go: downloading github.com/knadh/koanf/providers/posflag v1.0.1
  480. go: downloading github.com/xeipuuv/gojsonschema v1.2.0
  481. go: downloading github.com/mitchellh/copystructure v1.2.0
  482. go: downloading golang.org/x/mod v0.41.0
  483. go: downloading golang.org/x/net v0.59.0
  484. go: downloading github.com/a-h/parse v0.0.0-20250122154542-74294addb73e
  485. go: downloading github.com/mattn/go-runewidth v0.0.19
  486. go: downloading github.com/jhump/protoreflect/v2 v2.0.0-beta.2
  487. go: downloading buf.build/go/spdx v0.2.0
  488. go: downloading github.com/moby/moby/api v1.56.0
  489. go: downloading github.com/moby/moby/client v0.6.0
  490. go: downloading github.com/jdx/go-netrc v1.0.0
  491. go: downloading github.com/xyproto/randomstring v1.0.5
  492. go: downloading github.com/docker/cli v29.8.0+incompatible
  493. go: downloading github.com/opencontainers/go-digest v1.0.0
  494. go: downloading github.com/rs/cors v1.11.1
  495. go: downloading buf.build/gen/go/bufbuild/registry/connectrpc/go v1.20.0-20260831211851-b4432e12a6e7.1
  496. go: downloading github.com/tetratelabs/wazero v1.12.0
  497. go: downloading cel.dev/cel-go v0.32.0
  498. go: downloading go.lsp.dev/protocol v0.12.0
  499. go: downloading go.lsp.dev/uri v0.3.0
  500. go: downloading go.uber.org/zap v1.28.0
  501. go: downloading mvdan.cc/xurls/v2 v2.6.0
  502. go: downloading github.com/quic-go/go-ossfuzz-seeds v0.1.0
  503. go: downloading github.com/quic-go/qpack v0.6.0
  504. go: downloading github.com/segmentio/encoding v0.5.4
  505. go: downloading go.opentelemetry.io/otel v1.46.0
  506. go: downloading go.opentelemetry.io/otel/metric v1.46.0
  507. go: downloading go.opentelemetry.io/otel/trace v1.46.0
  508. go: downloading go.opentelemetry.io/otel/sdk v1.46.0
  509. go: downloading go.opentelemetry.io/otel/sdk/metric v1.46.0
  510. go: downloading github.com/brianvoe/gofakeit/v6 v6.28.0
  511. go: downloading github.com/rodaine/protogofakeit v0.1.1
  512. go: downloading github.com/gofrs/flock v0.13.1
  513. go: downloading buf.build/gen/go/pluginrpc/pluginrpc/protocolbuffers/go v1.36.12-20241007202033-cf42259fcbfc.2
  514. go: downloading github.com/frankban/quicktest v1.14.6
  515. go: downloading github.com/google/go-tpm-tools v0.3.13-0.20230620182252-4639ecce2aba
  516. go: downloading github.com/russross/blackfriday/v2 v2.1.0
  517. go: downloading github.com/kr/pretty v0.3.1
  518. go: downloading github.com/huandu/xstrings v1.5.0
  519. go: downloading golang.org/x/exp v0.0.0-20260824195058-e88cd73687aa
  520. go: downloading github.com/mitchellh/reflectwalk v1.0.2
  521. go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
  522. go: downloading github.com/klauspost/pgzip v1.2.6
  523. go: downloading github.com/clipperhouse/uax29/v2 v2.6.0
  524. go: downloading github.com/Microsoft/go-winio v0.6.2
  525. go: downloading github.com/containerd/errdefs v1.0.0
  526. go: downloading github.com/containerd/errdefs/pkg v0.3.0
  527. go: downloading github.com/distribution/reference v0.6.0
  528. go: downloading github.com/docker/go-connections v0.8.1
  529. go: downloading github.com/opencontainers/image-spec v1.1.1
  530. go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.71.0
  531. go: downloading gotest.tools/v3 v3.5.2
  532. go: downloading github.com/moby/docker-image-spec v1.3.1
  533. go: downloading github.com/sirupsen/logrus v1.10.2
  534. go: downloading github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
  535. go: downloading cel.dev/expr v0.25.3
  536. go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20260904194346-d0f1323225a4
  537. go: downloading go.lsp.dev/pkg v0.0.0-20210717090340-384b27a52fb2
  538. go: downloading go.uber.org/multierr v1.11.0
  539. go: downloading go.uber.org/goleak v1.3.0
  540. go: downloading github.com/segmentio/asm v1.2.1
  541. go: downloading github.com/go-logr/logr v1.4.4
  542. go: downloading github.com/go-logr/stdr v1.2.2
  543. go: downloading github.com/bep/godartsass/v2 v2.5.0
  544. go: downloading github.com/bep/golibsass v1.2.0
  545. go: downloading github.com/pelletier/go-toml/v2 v2.4.3
  546. go: downloading github.com/spf13/afero v1.15.0
  547. go: downloading github.com/tdewolff/parse/v2 v2.8.12
  548. go: downloading github.com/petermattis/goid v0.0.0-20260820044319-269ab09b5261
  549. go: downloading github.com/tidwall/btree v1.8.1
  550. go: downloading github.com/rivo/uniseg v0.4.7
  551. go: downloading github.com/bmatcuk/doublestar/v4 v4.10.0
  552. go: downloading github.com/protocolbuffers/protoscope v0.0.0-20221109213918-8e7a6aafa2c9
  553. go: downloading github.com/kr/text v0.2.0
  554. go: downloading github.com/rogpeppe/go-internal v1.15.0
  555. go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
  556. go: downloading github.com/docker/go-units v0.5.0
  557. go: downloading pgregory.net/rapid v1.2.0
  558. go: downloading github.com/felixge/httpsnoop v1.1.0
  559. go: downloading github.com/docker/docker-credential-helpers v0.9.9
  560. go: downloading github.com/antlr4-go/antlr/v4 v4.13.1
  561. go: downloading go.opentelemetry.io/auto/sdk v1.2.1
  562. go: downloading github.com/cespare/xxhash/v2 v2.3.0
  563. go: downloading github.com/tdewolff/test v1.0.12
  564. go: downloading github.com/bits-and-blooms/bitset v1.24.5
  565. go: downloading github.com/gobwas/glob v0.2.3
  566. go: downloading github.com/spf13/cast v1.10.0
  567. go: downloading github.com/gohugoio/hashstructure v0.6.0
  568. go: downloading github.com/bep/debounce v1.2.1
  569. go: downloading github.com/bep/gitmap v1.9.0
  570. go: downloading github.com/bep/helpers v0.12.0
  571. go: downloading github.com/bep/logg v0.4.0
  572. go: downloading github.com/gobuffalo/flect v1.0.3
  573. go: downloading github.com/gohugoio/go-radix v1.2.0
  574. go: downloading github.com/hairyhenderson/go-codeowners v0.7.0
  575. go: downloading github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c
  576. go: downloading github.com/bep/lazycache v0.8.1
  577. go: downloading github.com/BurntSushi/locker v0.0.0-20171006230638-a6e239ea1c69
  578. go: downloading github.com/gohugoio/httpcache v0.8.0
  579. go: downloading github.com/bep/clocks v0.5.0
  580. go: downloading github.com/bep/golocales v0.2.0
  581. go: downloading github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
  582. go: downloading github.com/jdkato/prose v1.2.1
  583. go: downloading github.com/kyokomi/emoji/v2 v2.2.13
  584. go: downloading github.com/olekukonko/tablewriter v1.1.4
  585. go: downloading github.com/bep/overlayfs v0.11.0
  586. go: downloading github.com/evanw/esbuild v0.28.1
  587. go: downloading github.com/bep/textandbinarywriter v0.1.0
  588. go: downloading github.com/gohugoio/go-i18n/v2 v2.1.3-0.20251018145728-cfcc22d823c6
  589. go: downloading github.com/clbanning/mxj/v2 v2.7.0
  590. go: downloading github.com/goccy/go-yaml v1.19.2
  591. go: downloading github.com/niklasfasching/go-org v1.9.1
  592. go: downloading github.com/gohugoio/gift v0.2.0
  593. go: downloading github.com/marekm4/color-extractor v1.2.1
  594. go: downloading github.com/pkg/errors v0.9.1
  595. go: downloading github.com/hashicorp/golang-lru/v2 v2.0.7
  596. go: downloading github.com/tdewolff/minify/v2 v2.24.13
  597. go: downloading github.com/bep/imagemeta v0.17.2
  598. go: downloading github.com/makeworld-the-better-one/dither/v2 v2.4.0
  599. go: downloading github.com/muesli/smartcrop v0.3.0
  600. go: downloading golang.org/x/image v0.43.0
  601. go: downloading github.com/olekukonko/errors v1.2.0
  602. go: downloading github.com/olekukonko/ll v0.1.6
  603. go: downloading github.com/gohugoio/hugo-goldmark-extensions/extras v0.7.0
  604. go: downloading github.com/gohugoio/hugo-goldmark-extensions/passthrough v0.5.0
  605. go: downloading github.com/microcosm-cc/bluemonday v1.0.27
  606. go: downloading github.com/yuin/goldmark-emoji v1.0.6
  607. go: downloading github.com/bep/tmc v0.6.0
  608. go: downloading github.com/bep/goat v0.5.0
  609. go: downloading rsc.io/qr v0.2.0
  610. go: downloading github.com/getkin/kin-openapi v0.140.0
  611. go: downloading github.com/JohannesKaufmann/html-to-markdown/v2 v2.5.2
  612. go: downloading github.com/bep/goportabletext v0.2.0
  613. go: downloading github.com/clipperhouse/displaywidth v0.10.0
  614. go: downloading github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6
  615. go: downloading github.com/aymerick/douceur v0.2.0
  616. go: downloading github.com/JohannesKaufmann/dom v0.3.1
  617. go: downloading github.com/gorilla/css v1.0.1
  618. go: downloading github.com/santhosh-tekuri/jsonschema/v6 v6.0.2
  619. go: downloading github.com/go-openapi/jsonpointer v0.22.5
  620. go: downloading github.com/oasdiff/yaml v0.1.0
  621. go: downloading github.com/oasdiff/yaml3 v0.0.13
  622. go: downloading github.com/go-openapi/swag/jsonname v0.25.5
  623. Run scripts/templ-drift.sh
  624. <U+001B>[36;1mscripts/templ-drift.sh<U+001B>[0m
  625. shell: sh -e {0}
  626. env:
  627. GOWORK: off
  628. (✓) Post-generation event received, processing... [ updates=0 needsRestart=true needsBrowserReload=true ]
  629. (✓) Complete [ updates=0 duration=203.27001ms ]
  630. Run go vet ./...
  631. <U+001B>[36;1mgo vet ./...<U+001B>[0m
  632. shell: sh -e {0}
  633. env:
  634. GOWORK: off
  635. Run go test -race $(go list ./... | grep -vx 'bnema.dev/ermite/internal/app')
  636. <U+001B>[36;1mgo test -race $(go list ./... | grep -vx 'bnema.dev/ermite/internal/app')<U+001B>[0m
  637. shell: sh -e {0}
  638. env:
  639. GOWORK: off
  640. ? bnema.dev/ermite/cmd/ermite [no test files]
  641. ? bnema.dev/ermite/gen/ermite/storage [no test files]
  642. ok bnema.dev/ermite/internal/adapters/ciartifacts 1.033s
  643. ok bnema.dev/ermite/internal/adapters/cilogs 1.036s
  644. ok bnema.dev/ermite/internal/adapters/cisummaries 1.069s
  645. ok bnema.dev/ermite/internal/adapters/client 1.231s
  646. ok bnema.dev/ermite/internal/adapters/ermitegit 112.396s
  647. ok bnema.dev/ermite/internal/adapters/eventbus 1.018s
  648. ok bnema.dev/ermite/internal/adapters/gitcli 18.990s
  649. ok bnema.dev/ermite/internal/adapters/githttp 2.167s
  650. ok bnema.dev/ermite/internal/adapters/githubapi 1.333s
  651. ok bnema.dev/ermite/internal/adapters/githubraw 1.026s
  652. ok bnema.dev/ermite/internal/adapters/gitremote 3.282s
  653. ok bnema.dev/ermite/internal/adapters/httpserver 1.296s
  654. ok bnema.dev/ermite/internal/adapters/kvstore 2.968s
  655. ? bnema.dev/ermite/internal/adapters/oidchttp [no test files]
  656. ok bnema.dev/ermite/internal/adapters/rpc 1.132s
  657. ok bnema.dev/ermite/internal/adapters/secretbox 1.015s
  658. ok bnema.dev/ermite/internal/adapters/sigverify 4.260s
  659. ok bnema.dev/ermite/internal/adapters/sshsig 1.062s
  660. ok bnema.dev/ermite/internal/adapters/web 40.721s
  661. ok bnema.dev/ermite/internal/adapters/webauthn 1.076s
  662. ok bnema.dev/ermite/internal/boundary 1.150s
  663. ok bnema.dev/ermite/internal/clientlimit 2.488s
  664. ok bnema.dev/ermite/internal/config 1.044s
  665. ok bnema.dev/ermite/internal/domain 1.091s
  666. ? bnema.dev/ermite/internal/ports [no test files]
  667. ? bnema.dev/ermite/internal/ports/mocks [no test files]
  668. ? bnema.dev/ermite/internal/readertest [no test files]
  669. ok bnema.dev/ermite/internal/usecase 21.739s
  670. ? bnema.dev/ermite/scripts/loadtest [no test files]
  671. Run go test -race ./internal/app/
  672. <U+001B>[36;1mgo test -race ./internal/app/<U+001B>[0m
  673. shell: sh -e {0}
  674. env:
  675. GOWORK: off
  676. ok bnema.dev/ermite/internal/app 322.676s
  677. Run go tool hexcheck -fail-on warn ./...
  678. <U+001B>[36;1mgo tool hexcheck -fail-on warn ./...<U+001B>[0m
  679. shell: sh -e {0}
  680. env:
  681. GOWORK: off
  682. Run node --test 'internal/adapters/web/jstest/*.test.mjs'
  683. <U+001B>[36;1mnode --test 'internal/adapters/web/jstest/*.test.mjs'<U+001B>[0m
  684. shell: sh -e {0}
  685. env:
  686. GOWORK: off
  687. ✔ the palette: options, selected option and aria-activedescendant follow the cursor (5.181056ms)
  688. ✔ the palette: a filter moves the active option, no match empties it and collapses the popup (0.824033ms)
  689. ✔ the palette: the file hits that arrive later get ids, roles and the active option (14.533662ms)
  690. ✔ Escape in the finder clears the query, keeps the focus in the field and does not reach the global handler (3.758303ms)
  691. ✔ the finder follows the cursor moved from outside (j / k) (2.027889ms)
  692. ✔ a swap that replaces the focused row puts the focus on the same control of the new one (1.839668ms)
  693. ✔ a swap with the focus elsewhere does not touch it (0.516952ms)
  694. ✔ a removed row hands the focus to the next row, else the previous, else the content (0.926589ms)
  695. ✔ a removed row skips the rows a filter hides (1.459192ms)
  696. ✔ shortcuts off: single characters do nothing, ctrl k, escape and enter still work (1.084525ms)
  697. ✔ shortcuts off: the checkbox, the note and the palette action show the state (0.669103ms)
  698. ✔ shortcuts off: another tab's change applies here (0.343368ms)
  699. ✔ the preference is read from storage when the page loads (3.897053ms)
  700. AC6 index of 100000 paths: 47.6 ms (target < 150, asserted < 1500)
  701. AC6 queries (incremental): t: 69.9 ms (94793 matches); tr: 64.7 ms (65622 matches); tre: 71.5 ms (51036 matches); tree: 61.7 ms (35414 matches); tree h: 7.9 ms (4167 matches); wbtree: 13.6 ms (7290 matches); internal handler: 7.7 ms (1042 matches); zzzq: 0.3 ms (0 matches)
  702. AC6 cold 'e': 63.5 ms; cold 'inthand': 6.1 ms; 'tree h' with positions of the hits: 9.6 ms (target < 30, asserted < 300)
  703. ✔ search: rejects what is not a subsequence (3.345624ms)
  704. ✔ search: ranking (1.11759ms)
  705. ✔ search: wbtree matches web/tree.templ (0.326517ms)
  706. ✔ search: basename prefix beats a deep match (0.395481ms)
  707. ✔ search: camelCase and separators earn bonuses (0.395857ms)
  708. ✔ search: several terms (1.103675ms)
  709. ✔ search: top k, ties by length then path (1.762426ms)
  710. ✔ search: incremental results equal a cold search (46.007496ms)
  711. ✔ positions (1.176201ms)
  712. ✔ non-ASCII paths: ASCII-only folding, positions index the original (1.043199ms)
  713. ✔ positions of a long path (greedy) (0.797296ms)
  714. ✔ visible (0.992616ms)
  715. ✔ performance on 100,000 paths (AC6) (514.507521ms)
  716. ✔ search and positions agree with a brute-force reference (397.032803ms)
  717. ✔ Enter before the results opens the top hit once they come (39.641123ms)
  718. ✔ the status counts the files and names the real size of a truncated list (1.617611ms)
  719. ✔ an Enter is dropped when the field changed since (1.058496ms)
  720. ✔ Enter on current results opens the cursor row, whichever way the cursor moved (8.108778ms)
  721. ✔ an input method composing does not drive the finder (2.040163ms)
  722. ✔ Escape clears the field and puts the cursor back on the tree (4.834652ms)
  723. ✔ label marks a surrogate pair whole (0.990895ms)
  724. ✔ the palette lists the file hits under its entries (6.466021ms)
  725. ✔ Enter typed before the frame of the query runs opens the top hit (0.985746ms)
  726. ✔ the palette keeps one search per frame and drops a search when it closes (2.380591ms)
  727. ✔ the palette drops the results of a query that is stale (4.822361ms)
  728. ✔ a list that fits is left alone (2.249394ms)
  729. ✔ the chips past the line give way to a … button that names them (0.67579ms)
  730. ✔ fitting again after a resize shows what fits now, with one … button (0.754774ms)
  731. ✔ a refit keeps the … button, and its focus (0.555859ms)
  732. ✔ pressing … shows every chip and moves the focus to the first one it showed (0.559366ms)
  733. ✔ the service worker is registered at the root scope once the page has loaded (1.642039ms)
  734. ✔ a refused registration is not an error (0.309103ms)
  735. ✔ the page leaves the browser its own install offer (0.155865ms)
  736. ✔ leadingZeroBits counts the zero bits at the start (1.503147ms)
  737. ✔ b64urlDecode reads the nonce the server sends (0.852919ms)
  738. ✔ the hashed bytes are nonce || ":" || decimal solution (0.295987ms)
  739. ✔ the solver finds the very solution of the Go vector (129.01361ms)
  740. ✔ the solver is independent of the batch size and reports progress (59.167814ms)
  741. ✔ counterClass: warn from 90 %, over above the maximum (0.287243ms)
  742. ✔ length counts characters, not UTF-16 units (0.17675ms)
  743. ✔ state: the button opens only when solved, waited and not over (0.324185ms)
  744. ✔ serverLength counts NFC code points like the server (0.371218ms)
  745. ✔ serverLength drops what the server strips and trims (0.323222ms)
  746. ✔ state keeps the button disabled when a title is empty or a field is over (0.171038ms)
  747. ✔ drafts are saved, restored once, and scoped to the path (0.384518ms)
  748. ✔ onPageShow reloads only for a bfcache restore (0.100018ms)
  749. ✔ init restores a draft and reloads on a bfcache pageshow (0.981892ms)
  750. ✔ with nothing stored the layout is cards, and the page is as rendered (5.478605ms)
  751. ✔ the stored layout is applied when the page loads (0.836434ms)
  752. ✔ a stored value that is not a layout falls back to cards (0.561557ms)
  753. ✔ set stores the layout, shows it and fits the chips again (1.159963ms)
  754. ✔ pressing a layout button sets it; other clicks do nothing (2.478603ms)
  755. ✔ another tab's change applies live (0.717922ms)
  756. ✔ a page without .home or without ermiteFit still works (0.282921ms)
  757. ✔ without usable storage the choice holds for the page (0.476052ms)
  758. ✔ a drop shorter than the delay says nothing (3.648725ms)
  759. ✔ a drop that lasts shows offline, once, until the stream is back (0.315013ms)
  760. ✔ it does nothing for a job that is over, or a page without a feed (2.630898ms)
  761. ✔ it opens the feed after the last line the page holds (0.990151ms)
  762. ✔ it appends the lines of a batch (1.603776ms)
  763. ✔ a piece that continues a line of an earlier batch joins that line (0.475524ms)
  764. ✔ it scrolls with the log only while the reader is at its end (0.376832ms)
  765. ✔ ci-end closes the feed, and a closed connection stays closed (0.345681ms)
  766. ✔ windowOf: the start of the window of a file (2.041035ms)
  767. ✔ menuKey: modes by number, D toggles the deletion, nothing else (0.92395ms)
  768. ✔ step: stays in the list (0.218852ms)
  769. ✔ rangeURL requires the same file, side and MR and sorts endpoints (0.766314ms)
  770. ✔ quote opens the thread reply and prefills and focuses its textarea (0.299609ms)
  771. ✔ reveal selects the split note ({"diff":"split"}), including after lazy loading (0.865465ms)
  772. ✔ reveal selects the split note ({"view":"split"}), including after lazy loading (0.200373ms)
  773. ✔ the script registers exactly one submit listener and no click listener (3.010086ms)
  774. ✔ login: begin, get, finish with toJSON(), then home (3.890727ms)
  775. ✔ register: the trimmed name goes to begin only, then reload (1.376111ms)
  776. ✔ a submit from another form is not ours and keeps its default (0.900097ms)
  777. ✔ busy: aria-busy, the waiting text, and a double submit makes one begin (8.038019ms)
  778. ✔ a double submit of the add form makes one begin (1.290287ms)
  779. ✔ after a failure the page is free for another try (1.378472ms)
  780. ✔ on failure the button is enabled again, not busy, and has the focus (0.483654ms)
  781. ✔ on success the button stays busy and disabled, without stealing focus (0.384179ms)
  782. ✔ begin refused: the server reason is shown, nothing else is called (0.485264ms)
  783. ✔ a 400 from register/begin focuses the name field (0.553221ms)
  784. ✔ other refusals of register give the focus back to the button (0.963801ms)
  785. ✔ a 400 at begin on the login page focuses the button: there is no name (0.309984ms)
  786. ✔ a refusal without a JSON body falls back to the status (0.561919ms)
  787. ✔ a 403 without a reason says the session ended (0.66929ms)
  788. ✔ a 403 with a reason of its own shows that reason (1.199334ms)
  789. ✔ the owner cancels the prompt (0.338773ms)
  790. ✔ AbortError says cancelled (0.267785ms)
  791. ✔ an authenticator that already holds a passkey (0.291745ms)
  792. ✔ a network failure is reported (0.273185ms)
  793. ✔ a null credential is not sent (0.283272ms)
  794. ✔ a credential without toJSON is reported, not sent (0.45616ms)
  795. ✔ a begin answer that is not JSON (0.26716ms)
  796. ✔ a begin answer with the wrong shape (0.837131ms)
  797. ✔ a name over 64 bytes (UTF-8) stops before begin (0.412589ms)
  798. ✔ 64 bytes is fine, in ASCII or in two-byte characters (0.358089ms)
  799. ✔ control and direction characters stop before begin (1.11956ms)
  800. ✔ plain text with a zero width joiner, accents and emoji is fine (0.241762ms)
  801. ✔ an empty name is allowed: the server names the passkey (0.296426ms)
  802. ✔ an old browser: the buttons are disabled with a reason, nothing is fetched (0.471217ms)
  803. ✔ no PublicKeyCredential at all (0.205846ms)
  804. ✔ a supported browser keeps the buttons enabled (0.248723ms)
  805. ✔ a disabled button ignores a submit (0.190723ms)
  806. ✔ register needs parseCreationOptionsFromJSON (0.282839ms)
  807. ✔ l focuses the main action of the panel, j / k walk its shown controls, h goes back (2.502333ms)
  808. ✔ without a primary action, l takes the first shown control (0.213762ms)
  809. ✔ h outside the panel leaves the focus alone; j / k outside it are not taken (0.208552ms)
  810. ✔ get answers the stored value, else the fallback (null by default) (5.141211ms)
  811. ✔ set stores strings; null and undefined remove; remove forgets (0.297526ms)
  812. ✔ without storage nothing throws and the value holds for the page (0.332109ms)
  813. ✔ a storage that refuses reads and writes does not throw either (0.277206ms)
  814. ✔ a quota error on write keeps the value for the page; a later write that works wins (0.262944ms)
  815. ✔ a getter of localStorage that throws (sandboxed frame) is survived (0.31182ms)
  816. ✔ watch calls back with the new value of its key only, and stops when told (0.985581ms)
  817. ✔ watch ignores the events of another storage area (sessionStorage) (0.227564ms)
  818. ✔ an event from another tab replaces a value held for this page (0.397094ms)
  819. ✔ pref answers only values of its list, else the fallback (0.5769ms)
  820. ✔ pref works with the empty string as a value (keys-off) (0.225001ms)
  821. ✔ pref.watch gives validated values (0.236857ms)
  822. ✔ a directory opens in place and closes again without a request (10.638838ms)
  823. ✔ TS-001/TS-002: a directory that loads under a closed ancestor comes in hidden (2.57363ms)
  824. ✔ a closed directory under a closed ancestor stays closed when the ancestor opens (2.226262ms)
  825. ✔ TS-006: only rows are kept; no row falls back to navigating (2.261984ms)
  826. ✔ a modified or non-left click keeps the link navigation (0.928112ms)
  827. ✔ a second click while the rows are loading is ignored (1.893892ms)
  828. ✔ a failed request navigates to the directory (0.673439ms)
  829. ✔ the tree-more row has a depth and follows its directory (0.682541ms)
  830. ✔ l opens a closed directory, then enters it; h closes it, or goes to its directory (2.130635ms)
  831. ✔ l on a file opens it; Enter opens a file and toggles a directory (0.851735ms)
  832. ✔ h on a top-level row goes to the parent page, when there is one (0.398157ms)
  833. ✔ the keys are not the tree's while the finder shows its results (0.225673ms)
  834. ✔ a click on the name puts the cursor on the row (0.291221ms)
  835. ✔ init: one tab stop, the row under the cursor; name links are out of the tab order (0.364203ms)
  836. ✔ l or h before any focus in the tree brings the focus to the cursor row (2.408719ms)
  837. ✔ l and h move the focus with the cursor, and the tab stop with them (2.247833ms)
  838. ✔ sync (j k gg G of ermite.js) puts the focus and the tab stop on the row (0.355165ms)
  839. ✔ a click puts the focus and the tab stop on its row, directory or not (1.705202ms)
  840. ✔ collapsing a branch with the focus or the cursor in it moves both to the directory (2.049003ms)
  841. ✔ collapsing a directory the focus is not in leaves the focus alone (2.023871ms)
  842. ✔ Enter acts on the row that has the cursor, which is the focused row (1.725978ms)
  843. ✔ inserted rows get their level; the server gave them posinset and setsize (3.275384ms)
  844. ✔ Down, Up, Home and End walk the visible rows, with the focus (1.401397ms)
  845. ✔ Right opens a closed directory, enters an open one, and does nothing on a file (1.456008ms)
  846. ✔ Left closes an open directory, goes to the parent, and does nothing at the top (1.694685ms)
  847. ✔ l opens a file where Right does not (0.239074ms)
  848. ✔ the tree takes no arrow key while the finder shows its results, nor any other key (0.140078ms)
  849. ℹ tests 159
  850. ℹ suites 0
  851. ℹ pass 159
  852. ℹ fail 0
  853. ℹ cancelled 0
  854. ℹ skipped 0
  855. ℹ todo 0
  856. ℹ duration_ms 1066.26802
  857. Post job cleanup.
  858. ##[command]/usr/bin/docker exec a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1 sh -c "cat /etc/*release | grep ^ID"
  859. (node:103887) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
  860. (Use `node --trace-deprecation ...` to show where the warning was created)
  861. [command]/__t/go/1.27.1/x64/bin/go env GOMODCACHE
  862. [command]/__t/go/1.27.1/x64/bin/go env GOCACHE
  863. /github/home/go/pkg/mod
  864. /github/home/.cache/go-build
  865. [command]/usr/sbin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /__w/ermite/ermite --files-from manifest.txt --use-compress-program zstdmt
  866. Cache Size: ~652 MB (683563026 B)
  867. Cache saved successfully
  868. Cache saved with the key: setup-go-Linux-x64-undefined-go-1.27.1-a51120b87d120038ff1de403e6e2428d006e223209038ef9eb8725fc074be729
  869. Post job cleanup.
  870. ##[command]/usr/bin/docker exec a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1 sh -c "cat /etc/*release | grep ^ID"
  871. [command]/usr/sbin/git version
  872. git version 2.56.0
  873. Copying '/github/home/.gitconfig' to '/__w/_temp/f8eff377-fed6-47ef-b8c9-e6232d304550/.gitconfig'
  874. Temporarily overriding HOME='/__w/_temp/f8eff377-fed6-47ef-b8c9-e6232d304550' before making global git config changes
  875. Adding repository directory to the temporary git global config as a safe directory
  876. [command]/usr/sbin/git config --global --add safe.directory /__w/ermite/ermite
  877. Removing SSH command configuration
  878. [command]/usr/sbin/git config --local --name-only --get-regexp core\.sshCommand
  879. [command]/usr/sbin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
  880. Removing HTTP extra header
  881. [command]/usr/sbin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader
  882. [command]/usr/sbin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.http\:\/\/ermite\:7341\/\.extraheader' && git config --local --unset-all 'http.http://ermite:7341/.extraheader' || :"
  883. Removing includeIf entries pointing to credentials config files
  884. [command]/usr/sbin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
  885. includeif.gitdir:/__w/ermite/ermite/.git.path
  886. includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path
  887. includeif.gitdir:/github/workspace/.git.path
  888. includeif.gitdir:/github/workspace/.git/worktrees/*.path
  889. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/__w/ermite/ermite/.git.path
  890. /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  891. [command]/usr/sbin/git config --local --unset includeif.gitdir:/__w/ermite/ermite/.git.path /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  892. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path
  893. /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  894. [command]/usr/sbin/git config --local --unset includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path /__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  895. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path
  896. /github/runner_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  897. [command]/usr/sbin/git config --local --unset includeif.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  898. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path
  899. /github/runner_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  900. [command]/usr/sbin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config
  901. [command]/usr/sbin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
  902. Removing credentials config '/__w/_temp/git-credentials-b096e345-d364-4cd2-9ec4-aa9bfb3eea6a.config'
  903. Stop and remove container: ac7535de6f904d88b1d4cde048fc5602_archlinuxlatest_08ecdd
  904. ##[command]/usr/bin/docker rm --force a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1
  905. a295cd852bcb5f2c6945c035cd202e5daa31cd854d5dbe52ee9bb3adddae0cf1
  906. Remove container network: github_network_4144daba39744a71b9c741722fd68f67
  907. ##[command]/usr/bin/docker network rm github_network_4144daba39744a71b9c741722fd68f67
  908. github_network_4144daba39744a71b9c741722fd68f67
  909. Cleaning up orphan processes
  910. ##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/setup-go@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 41

↑↓ moveenter openesc close