main e86dbd6

Test success 1m 31s

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=1622ac"
  23. ##[command]/usr/bin/docker network prune --force --filter "label=1622ac"
  24. Create local container network
  25. ##[command]/usr/bin/docker network create --label 1622ac github_network_85c5ecd7e1d4487eaab12522654518a1
  26. 7bb5eb73c2e1ae4d60e6ce4e557d9362988a9a6eb5f6d83555e37f5e4f874dcc
  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: Verifying Checksum
  35. d2cc54e7adee: Download complete
  36. d2cc54e7adee: Pull complete
  37. 55924c9eac0d: Pull complete
  38. Digest: sha256:3c64b538588416593f69a1aebd2f2ec0f2541b29159f32556fa7def2167147a0
  39. Status: Downloaded newer image for archlinux:latest
  40. docker.io/library/archlinux:latest
  41. ##[command]/usr/bin/docker create --name ea5de0b626d04485b01f2e28cb70c6d0_archlinuxlatest_ed18d4 --label 1622ac --workdir /__w/ermite/ermite --network github_network_85c5ecd7e1d4487eaab12522654518a1 -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"
  42. 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601
  43. ##[command]/usr/bin/docker start 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601
  44. 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601
  45. ##[command]/usr/bin/docker ps --all --filter id=495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
  46. 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601 Up Less than a second
  47. ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601
  48. HOME=/github/home
  49. GITHUB_ACTIONS=true
  50. CI=true
  51. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  52. LANG=C.UTF-8
  53. Waiting for all services to be ready
  54. Run pacman -Syu --noconfirm --needed git gcc openssh nodejs
  55. <U+001B>[36;1mpacman -Syu --noconfirm --needed git gcc openssh nodejs<U+001B>[0m
  56. shell: sh -e {0}
  57. env:
  58. GOWORK: off
  59. :: Synchronizing package databases...
  60. core downloading...
  61. extra downloading...
  62. :: Starting full system upgrade...
  63. resolving dependencies...
  64. looking for conflicting packages...
  65. Package (27) Old Version New Version Net Change Download Size
  66. extra/abseil-cpp 20260817.0-2 7.15 MiB 1.35 MiB
  67. extra/ada 4.0.0-1 0.95 MiB 0.31 MiB
  68. extra/c-ares 1.34.8-1 0.53 MiB 0.23 MiB
  69. core/curl 8.22.0-1 8.23.0-1 0.01 MiB 1.31 MiB
  70. core/db5.3 5.3.28-7 6.48 MiB 1.26 MiB
  71. extra/gtest 1.18.0-1 1.67 MiB 0.39 MiB
  72. core/libarchive 3.8.9-1 3.8.10-1 0.01 MiB 0.57 MiB
  73. core/libedit 20260512_3.1-1 0.27 MiB 0.11 MiB
  74. core/libisl 0.28-1 5.90 MiB 0.94 MiB
  75. core/libmpc 1.4.1-1 0.19 MiB 0.09 MiB
  76. extra/libuv 1.52.1-2 0.64 MiB 0.26 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: 128.31 MiB
  94. Total Installed Size: 502.38 MiB
  95. Net Upgrade Size: 432.48 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. systemd-libs-262.1-1-x86_64 downloading...
  105. openssh-10.6p1-2-x86_64 downloading...
  106. abseil-cpp-20260817.0-2-x86_64 downloading...
  107. curl-8.23.0-1-x86_64 downloading...
  108. db5.3-5.3.28-7-x86_64 downloading...
  109. pacman-7.1.0.r9.g54d9411-3-x86_64 downloading...
  110. libisl-0.28-1-x86_64 downloading...
  111. libarchive-3.8.10-1-x86_64 downloading...
  112. simdjson-1:5.0.5-1-x86_64 downloading...
  113. gtest-1.18.0-1-x86_64 downloading...
  114. ada-4.0.0-1-x86_64 downloading...
  115. libuv-1.52.1-2-x86_64 downloading...
  116. c-ares-1.34.8-1-x86_64 downloading...
  117. libedit-20260512_3.1-1-x86_64 downloading...
  118. zlib-ng-2.3.3-1-x86_64 downloading...
  119. libmpc-1.4.1-1-x86_64 downloading...
  120. zlib-1:1.3.2-4-x86_64 downloading...
  121. perl-timedate-2.35-1-any downloading...
  122. perl-mailtools-2.22-3-any downloading...
  123. perl-error-0.17030-3-any downloading...
  124. systemd-sysvcompat-262.1-1-x86_64 downloading...
  125. checking keyring...
  126. checking package integrity...
  127. loading package files...
  128. checking for file conflicts...
  129. :: Processing package changes...
  130. upgrading zlib...
  131. upgrading systemd-libs...
  132. upgrading sqlite...
  133. upgrading curl...
  134. installing db5.3...
  135. installing perl...
  136. installing perl-error...
  137. installing perl-timedate...
  138. installing perl-mailtools...
  139. installing zlib-ng...
  140. installing git...
  141. Optional dependencies for git
  142. git-zsh-completion: upstream zsh completion
  143. tk: gitk and git gui
  144. openssh: ssh transport and crypto [pending]
  145. man: show help with `git command --help`
  146. perl-libwww: git svn
  147. perl-term-readkey: git svn and interactive.singlekey setting
  148. perl-io-socket-ssl: git send-email TLS support
  149. perl-authen-sasl: git send-email TLS support
  150. perl-cgi: gitweb (web interface) support
  151. python: git svn & git p4
  152. subversion: git svn
  153. org.freedesktop.secrets: keyring credential helper
  154. libsecret: libsecret credential helper [installed]
  155. less: the default pager for git
  156. installing libisl...
  157. installing libmpc...
  158. installing gcc...
  159. Optional dependencies for gcc
  160. lib32-gcc-libs: for generating code for 32-bit ABI
  161. installing libedit...
  162. installing openssh...
  163. Optional dependencies for openssh
  164. libfido2: FIDO/U2F support
  165. sh: for ssh-copy-id and findssl.sh [installed]
  166. x11-ssh-askpass: input passphrase in X
  167. xorg-xauth: X11 forwarding
  168. installing gtest...
  169. Optional dependencies for gtest
  170. python: gmock generator
  171. installing abseil-cpp...
  172. installing ada...
  173. installing c-ares...
  174. installing libuv...
  175. installing simdjson...
  176. installing nodejs...
  177. Optional dependencies for nodejs
  178. npm: nodejs package manager
  179. upgrading libarchive...
  180. upgrading systemd...
  181. Creating group 'git' with GID 969.
  182. Creating user 'git' (git daemon user) with UID 969 and GID 969.
  183. upgrading pacman...
  184. upgrading systemd-sysvcompat...
  185. :: Running post-transaction hooks...
  186. ( 1/12) Creating system user accounts...
  187. ( 2/12) Creating temporary files...
  188. /usr/lib/tmpfiles.d/journal-nocow.conf:26: Failed to resolve specifier: uninitialized /etc/ detected, skipping.
  189. All rules containing unresolvable specifiers will be skipped.
  190. ( 3/12) Updating journal message catalog...
  191. ( 4/12) Updating udev hardware database...
  192. ( 5/12) Applying kernel sysctl settings...
  193. Skipped: Current root is not booted.
  194. ( 6/12) Reloading system manager configuration...
  195. Skipped: Current root is not booted.
  196. ( 7/12) Reloading user manager configuration...
  197. Skipped: Current root is not booted.
  198. ( 8/12) Enqueuing marked services...
  199. Skipped: Current root is not booted.
  200. ( 9/12) Reloading device manager configuration...
  201. Skipped: Current root is not booted.
  202. (10/12) Arming ConditionNeedsUpdate...
  203. (11/12) Reloading system bus configuration...
  204. Skipped: Current root is not booted.
  205. (12/12) Checking for old perl modules...
  206. Run actions/checkout@v6
  207. with:
  208. repository: bnema/ermite
  209. token: ***
  210. ssh-strict: true
  211. ssh-user: git
  212. persist-credentials: true
  213. clean: true
  214. sparse-checkout-cone-mode: true
  215. fetch-depth: 1
  216. fetch-tags: false
  217. show-progress: true
  218. lfs: false
  219. submodules: false
  220. set-safe-directory: true
  221. allow-unsafe-pr-checkout: false
  222. env:
  223. GOWORK: off
  224. ##[command]/usr/bin/docker exec 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601 sh -c "cat /etc/*release | grep ^ID"
  225. Syncing repository: bnema/ermite
  226. Getting Git version info
  227. Working directory is '/__w/ermite/ermite'
  228. [command]/usr/sbin/git version
  229. git version 2.56.0
  230. Temporarily overriding HOME='/__w/_temp/e88ff714-8d23-4386-b91a-9c285570abd7' before making global git config changes
  231. Adding repository directory to the temporary git global config as a safe directory
  232. [command]/usr/sbin/git config --global --add safe.directory /__w/ermite/ermite
  233. Deleting the contents of '/__w/ermite/ermite'
  234. Determining repository object format
  235. Initializing the repository
  236. [command]/usr/sbin/git init /__w/ermite/ermite
  237. hint: Using 'master' as the name for the initial branch. This default branch name
  238. hint: will change to "main" in Git 3.0. To configure the initial branch name
  239. hint: to use in all of your new repositories, which will suppress this warning,
  240. hint: call:
  241. hint:
  242. hint: git config --global init.defaultBranch <name>
  243. hint:
  244. hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
  245. hint: 'development'. The just-created branch can be renamed via this command:
  246. hint:
  247. hint: git branch -m <name>
  248. hint:
  249. hint: Disable this message with "git config set advice.defaultBranchName false"
  250. Initialized empty Git repository in /__w/ermite/ermite/.git/
  251. [command]/usr/sbin/git remote add origin http://ermite:7341/bnema/ermite
  252. Disabling automatic garbage collection
  253. [command]/usr/sbin/git config --local gc.auto 0
  254. Setting up auth
  255. Removing SSH command configuration
  256. [command]/usr/sbin/git config --local --name-only --get-regexp core\.sshCommand
  257. [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' || :"
  258. Removing HTTP extra header
  259. [command]/usr/sbin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader
  260. [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' || :"
  261. Removing includeIf entries pointing to credentials config files
  262. [command]/usr/sbin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
  263. [command]/usr/sbin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
  264. [command]/usr/sbin/git config --file /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config http.http://ermite:7341/.extraheader AUTHORIZATION: basic ***
  265. [command]/usr/sbin/git config --local includeIf.gitdir:/__w/ermite/ermite/.git.path /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  266. [command]/usr/sbin/git config --local includeIf.gitdir:/__w/ermite/ermite/.git/worktrees/*.path /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  267. [command]/usr/sbin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  268. [command]/usr/sbin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  269. Fetching the repository
  270. [command]/usr/sbin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +f535153fd6e0ae279f5f1052e82adc14fa488473:refs/remotes/pull/2/merge
  271. From http://ermite:7341/bnema/ermite
  272. * [new ref] f535153fd6e0ae279f5f1052e82adc14fa488473 -> pull/2/merge
  273. Determining the checkout info
  274. [command]/usr/sbin/git sparse-checkout disable
  275. [command]/usr/sbin/git config --local --unset-all extensions.worktreeConfig
  276. Checking out the ref
  277. [command]/usr/sbin/git checkout --progress --force refs/remotes/pull/2/merge
  278. Note: switching to 'refs/remotes/pull/2/merge'.
  279. You are in 'detached HEAD' state. You can look around, make experimental
  280. changes and commit them, and you can discard any commits you make in this
  281. state without impacting any branches by switching back to a branch.
  282. If you want to create a new branch to retain commits you create, you may
  283. do so (now or later) by using -c with the switch command. Example:
  284. git switch -c <new-branch-name>
  285. Or undo this operation with:
  286. git switch -
  287. Turn off this advice by setting config variable advice.detachedHead to false
  288. HEAD is now at f535153 Merge d9a8fff1292ab5098cf29ccdbf269fc9eb79c7d4 into eba40da6c2f55746079d8f7bf90538ee1c211b4f
  289. [command]/usr/sbin/git log -1 --format=%H
  290. f535153fd6e0ae279f5f1052e82adc14fa488473
  291. Run git config --global --add safe.directory "$GITHUB_WORKSPACE"
  292. <U+001B>[36;1mgit config --global --add safe.directory "$GITHUB_WORKSPACE"<U+001B>[0m
  293. shell: sh -e {0}
  294. env:
  295. GOWORK: off
  296. Run actions/setup-go@v5
  297. with:
  298. go-version-file: go.mod
  299. cache: true
  300. check-latest: false
  301. env:
  302. GOWORK: off
  303. ##[command]/usr/bin/docker exec 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601 sh -c "cat /etc/*release | grep ^ID"
  304. Setup go version spec 1.27.1
  305. Attempting to download 1.27.1...
  306. (node:354) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
  307. (Use `node --trace-deprecation ...` to show where the warning was created)
  308. matching 1.27.1...
  309. 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
  310. Extracting Go...
  311. [command]/usr/sbin/tar xz --warning=no-unknown-keyword --overwrite -C /__w/_temp/988d1840-fddd-4323-afe2-7875bcc006e8 -f /__w/_temp/7929f094-e768-4c97-b9d4-c10d43157dd5
  312. Successfully extracted go to /__w/_temp/988d1840-fddd-4323-afe2-7875bcc006e8
  313. Adding to the cache ...
  314. Successfully cached go to /__t/go/1.27.1/x64
  315. Added go to the path
  316. Successfully set up Go version 1.27.1
  317. [command]/__t/go/1.27.1/x64/bin/go env GOMODCACHE
  318. [command]/__t/go/1.27.1/x64/bin/go env GOCACHE
  319. /github/home/go/pkg/mod
  320. /github/home/.cache/go-build
  321. Cache Size: ~638 MB (669221738 B)
  322. [command]/usr/sbin/tar -xf /__w/_temp/0bcaf9fc-9386-4cb4-8d62-444603c8f4d4/cache.tzst -P -C /__w/ermite/ermite --use-compress-program unzstd
  323. Cache restored successfully
  324. Cache restored from key: setup-go-Linux-x64-undefined-go-1.27.1-9c17a4d5131575ad7935350bd91af5b2ab5fbcc1a15a76982dcb341fc86c7bb7
  325. go version go1.27.1 linux/amd64
  326. go env
  327. AR='ar'
  328. CC='gcc'
  329. CGO_CFLAGS='-O2 -g'
  330. CGO_CPPFLAGS=''
  331. CGO_CXXFLAGS='-O2 -g'
  332. CGO_ENABLED='1'
  333. CGO_FFLAGS='-O2 -g'
  334. CGO_LDFLAGS='-O2 -g'
  335. CXX='g++'
  336. GCCGO='gccgo'
  337. GO111MODULE=''
  338. GOAMD64='v1'
  339. GOARCH='amd64'
  340. GOAUTH='netrc'
  341. GOBIN='/github/home/go/bin'
  342. GOCACHE='/github/home/.cache/go-build'
  343. GOCACHEPROG=''
  344. GODEBUG=''
  345. GOENV='/github/home/.config/go/env'
  346. GOEXE=''
  347. GOEXPERIMENT=''
  348. GOFIPS140='off'
  349. GOFLAGS=''
  350. GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3245663225=/tmp/go-build -gno-record-gcc-switches'
  351. GOHOSTARCH='amd64'
  352. GOHOSTOS='linux'
  353. GOINSECURE=''
  354. GOMOD='/__w/ermite/ermite/go.mod'
  355. GOMODCACHE='/github/home/go/pkg/mod'
  356. GONOPROXY=''
  357. GONOSUMDB=''
  358. GOOS='linux'
  359. GOPACKAGESDRIVER=''
  360. GOPATH='/github/home/go'
  361. GOPRIVATE=''
  362. GOPROXY='https://proxy.golang.org,direct'
  363. GOROOT='/__t/go/1.27.1/x64'
  364. GOSUMDB='sum.golang.org'
  365. GOTELEMETRY='local'
  366. GOTELEMETRYDIR='/github/home/.config/go/telemetry'
  367. GOTMPDIR=''
  368. GOTOOLCHAIN='auto'
  369. GOTOOLDIR='/__t/go/1.27.1/x64/pkg/tool/linux_amd64'
  370. GOVCS=''
  371. GOVERSION='go1.27.1'
  372. GOWORK='off'
  373. PKG_CONFIG='pkg-config'
  374. Run git --version
  375. <U+001B>[36;1mgit --version<U+001B>[0m
  376. <U+001B>[36;1mv=$(git --version | sed -E 's/^git version ([0-9]+)\.([0-9]+).*/\1 \2/')<U+001B>[0m
  377. <U+001B>[36;1mset -- $v<U+001B>[0m
  378. <U+001B>[36;1mif [ "$1" -lt 2 ] || { [ "$1" -eq 2 ] && [ "$2" -lt 45 ]; }; then<U+001B>[0m
  379. <U+001B>[36;1m echo "git 2.45 or newer is required" >&2<U+001B>[0m
  380. <U+001B>[36;1m exit 1<U+001B>[0m
  381. <U+001B>[36;1mfi<U+001B>[0m
  382. shell: sh -e {0}
  383. env:
  384. GOWORK: off
  385. git version 2.56.0
  386. Run go mod tidy
  387. <U+001B>[36;1mgo mod tidy<U+001B>[0m
  388. <U+001B>[36;1mgit diff --exit-code -- go.mod go.sum<U+001B>[0m
  389. shell: sh -e {0}
  390. env:
  391. GOWORK: off
  392. Run scripts/templ-drift.sh
  393. <U+001B>[36;1mscripts/templ-drift.sh<U+001B>[0m
  394. shell: sh -e {0}
  395. env:
  396. GOWORK: off
  397. (✓) Post-generation event received, processing... [ updates=0 needsRestart=true needsBrowserReload=true ]
  398. (✓) Complete [ updates=0 duration=128.776928ms ]
  399. Run go vet ./...
  400. <U+001B>[36;1mgo vet ./...<U+001B>[0m
  401. shell: sh -e {0}
  402. env:
  403. GOWORK: off
  404. Run go test -race $(go list ./... | grep -vx 'bnema.dev/ermite/internal/app')
  405. <U+001B>[36;1mgo test -race $(go list ./... | grep -vx 'bnema.dev/ermite/internal/app')<U+001B>[0m
  406. shell: sh -e {0}
  407. env:
  408. GOWORK: off
  409. ? bnema.dev/ermite/cmd/ermite [no test files]
  410. ? bnema.dev/ermite/gen/ermite/storage [no test files]
  411. ok bnema.dev/ermite/internal/adapters/ciartifacts (cached)
  412. ok bnema.dev/ermite/internal/adapters/cilogs (cached)
  413. ok bnema.dev/ermite/internal/adapters/cisummaries (cached)
  414. ok bnema.dev/ermite/internal/adapters/client (cached)
  415. ok bnema.dev/ermite/internal/adapters/ermitegit (cached)
  416. ok bnema.dev/ermite/internal/adapters/eventbus (cached)
  417. ok bnema.dev/ermite/internal/adapters/gitcli (cached)
  418. ok bnema.dev/ermite/internal/adapters/githttp (cached)
  419. ok bnema.dev/ermite/internal/adapters/githubapi (cached)
  420. ok bnema.dev/ermite/internal/adapters/githubraw (cached)
  421. ok bnema.dev/ermite/internal/adapters/gitremote (cached)
  422. ok bnema.dev/ermite/internal/adapters/httpserver (cached)
  423. ok bnema.dev/ermite/internal/adapters/kvstore (cached)
  424. ? bnema.dev/ermite/internal/adapters/oidchttp [no test files]
  425. ok bnema.dev/ermite/internal/adapters/rpc (cached)
  426. ok bnema.dev/ermite/internal/adapters/secretbox (cached)
  427. ok bnema.dev/ermite/internal/adapters/sigverify (cached)
  428. ok bnema.dev/ermite/internal/adapters/sshsig (cached)
  429. ok bnema.dev/ermite/internal/adapters/web 21.071s
  430. ok bnema.dev/ermite/internal/adapters/webauthn (cached)
  431. ok bnema.dev/ermite/internal/boundary 1.102s
  432. ok bnema.dev/ermite/internal/clientlimit (cached)
  433. ok bnema.dev/ermite/internal/config (cached)
  434. ok bnema.dev/ermite/internal/domain (cached)
  435. ? bnema.dev/ermite/internal/ports [no test files]
  436. ? bnema.dev/ermite/internal/ports/mocks [no test files]
  437. ? bnema.dev/ermite/internal/readertest [no test files]
  438. ok bnema.dev/ermite/internal/usecase (cached)
  439. ? bnema.dev/ermite/scripts/loadtest [no test files]
  440. Run go tool hexcheck -fail-on warn ./...
  441. <U+001B>[36;1mgo tool hexcheck -fail-on warn ./...<U+001B>[0m
  442. shell: sh -e {0}
  443. env:
  444. GOWORK: off
  445. Run node --test 'internal/adapters/web/jstest/*.test.mjs'
  446. <U+001B>[36;1mnode --test 'internal/adapters/web/jstest/*.test.mjs'<U+001B>[0m
  447. shell: sh -e {0}
  448. env:
  449. GOWORK: off
  450. ✔ the palette: options, selected option and aria-activedescendant follow the cursor (3.606198ms)
  451. ✔ the palette: a filter moves the active option, no match empties it and collapses the popup (0.593662ms)
  452. ✔ the palette: the file hits that arrive later get ids, roles and the active option (11.247543ms)
  453. ✔ Escape in the finder clears the query, keeps the focus in the field and does not reach the global handler (4.69522ms)
  454. ✔ the finder follows the cursor moved from outside (j / k) (2.642014ms)
  455. ✔ a swap that replaces the focused row puts the focus on the same control of the new one (1.612838ms)
  456. ✔ a swap with the focus elsewhere does not touch it (0.606387ms)
  457. ✔ a removed row hands the focus to the next row, else the previous, else the content (0.791206ms)
  458. ✔ a removed row skips the rows a filter hides (1.12915ms)
  459. ✔ shortcuts off: single characters do nothing, ctrl k, escape and enter still work (1.031041ms)
  460. ✔ shortcuts off: the checkbox, the note and the palette action show the state (0.622661ms)
  461. ✔ shortcuts off: another tab's change applies here (0.238293ms)
  462. ✔ the preference is read from storage when the page loads (2.572178ms)
  463. AC6 index of 100000 paths: 57.5 ms (target < 150, asserted < 1500)
  464. AC6 queries (incremental): t: 85.2 ms (94793 matches); tr: 67.5 ms (65622 matches); tre: 69.1 ms (51036 matches); tree: 66.0 ms (35414 matches); tree h: 12.7 ms (4167 matches); wbtree: 13.1 ms (7290 matches); internal handler: 7.3 ms (1042 matches); zzzq: 0.3 ms (0 matches)
  465. AC6 cold 'e': 57.5 ms; cold 'inthand': 5.7 ms; 'tree h' with positions of the hits: 8.7 ms (target < 30, asserted < 300)
  466. ✔ search: rejects what is not a subsequence (2.518441ms)
  467. ✔ search: ranking (0.938182ms)
  468. ✔ search: wbtree matches web/tree.templ (0.285896ms)
  469. ✔ search: basename prefix beats a deep match (0.337261ms)
  470. ✔ search: camelCase and separators earn bonuses (0.292817ms)
  471. ✔ search: several terms (2.673923ms)
  472. ✔ search: top k, ties by length then path (1.018352ms)
  473. ✔ search: incremental results equal a cold search (56.337169ms)
  474. ✔ positions (0.652851ms)
  475. ✔ non-ASCII paths: ASCII-only folding, positions index the original (0.690118ms)
  476. ✔ positions of a long path (greedy) (0.36749ms)
  477. ✔ visible (0.66964ms)
  478. ✔ performance on 100,000 paths (AC6) (542.893391ms)
  479. ✔ search and positions agree with a brute-force reference (380.846027ms)
  480. ✔ Enter before the results opens the top hit once they come (36.341225ms)
  481. ✔ the status counts the files and names the real size of a truncated list (3.684707ms)
  482. ✔ an Enter is dropped when the field changed since (1.153303ms)
  483. ✔ Enter on current results opens the cursor row, whichever way the cursor moved (4.176629ms)
  484. ✔ an input method composing does not drive the finder (1.656376ms)
  485. ✔ Escape clears the field and puts the cursor back on the tree (4.486034ms)
  486. ✔ label marks a surrogate pair whole (1.154578ms)
  487. ✔ the palette lists the file hits under its entries (7.605179ms)
  488. ✔ Enter typed before the frame of the query runs opens the top hit (2.966216ms)
  489. ✔ the palette keeps one search per frame and drops a search when it closes (3.457087ms)
  490. ✔ the palette drops the results of a query that is stale (2.038166ms)
  491. ✔ a list that fits is left alone (2.270747ms)
  492. ✔ the chips past the line give way to a … button that names them (1.052555ms)
  493. ✔ fitting again after a resize shows what fits now, with one … button (0.727643ms)
  494. ✔ a refit keeps the … button, and its focus (1.290284ms)
  495. ✔ pressing … shows every chip and moves the focus to the first one it showed (0.849836ms)
  496. ✔ the service worker is registered at the root scope once the page has loaded (2.299839ms)
  497. ✔ a refused registration is not an error (0.375291ms)
  498. ✔ the page leaves the browser its own install offer (0.193692ms)
  499. ✔ with nothing stored the layout is cards, and the page is as rendered (3.814594ms)
  500. ✔ the stored layout is applied when the page loads (0.730982ms)
  501. ✔ a stored value that is not a layout falls back to cards (0.466115ms)
  502. ✔ set stores the layout, shows it and fits the chips again (0.819787ms)
  503. ✔ pressing a layout button sets it; other clicks do nothing (1.422136ms)
  504. ✔ another tab's change applies live (0.61261ms)
  505. ✔ a page without .home or without ermiteFit still works (0.283871ms)
  506. ✔ without usable storage the choice holds for the page (0.440773ms)
  507. ✔ a drop shorter than the delay says nothing (3.053773ms)
  508. ✔ a drop that lasts shows offline, once, until the stream is back (0.313972ms)
  509. ✔ it does nothing for a job that is over, or a page without a feed (2.504626ms)
  510. ✔ it opens the feed after the last line the page holds (1.048197ms)
  511. ✔ it appends the lines of a batch (1.299365ms)
  512. ✔ a piece that continues a line of an earlier batch joins that line (0.515787ms)
  513. ✔ it scrolls with the log only while the reader is at its end (0.363961ms)
  514. ✔ ci-end closes the feed, and a closed connection stays closed (0.312008ms)
  515. ✔ windowOf: the start of the window of a file (1.131111ms)
  516. ✔ menuKey: modes by number, D toggles the deletion, nothing else (0.837161ms)
  517. ✔ step: stays in the list (0.23196ms)
  518. ✔ the script registers exactly one submit listener and no click listener (2.986518ms)
  519. ✔ login: begin, get, finish with toJSON(), then home (2.794093ms)
  520. ✔ register: the trimmed name goes to begin only, then reload (1.249868ms)
  521. ✔ a submit from another form is not ours and keeps its default (0.702537ms)
  522. ✔ busy: aria-busy, the waiting text, and a double submit makes one begin (9.619058ms)
  523. ✔ a double submit of the add form makes one begin (2.297999ms)
  524. ✔ after a failure the page is free for another try (1.025031ms)
  525. ✔ on failure the button is enabled again, not busy, and has the focus (0.635106ms)
  526. ✔ on success the button stays busy and disabled, without stealing focus (0.984286ms)
  527. ✔ begin refused: the server reason is shown, nothing else is called (0.753703ms)
  528. ✔ a 400 from register/begin focuses the name field (0.55118ms)
  529. ✔ other refusals of register give the focus back to the button (0.952642ms)
  530. ✔ a 400 at begin on the login page focuses the button: there is no name (0.292716ms)
  531. ✔ a refusal without a JSON body falls back to the status (0.455648ms)
  532. ✔ a 403 without a reason says the session ended (0.683934ms)
  533. ✔ a 403 with a reason of its own shows that reason (1.189489ms)
  534. ✔ the owner cancels the prompt (0.358978ms)
  535. ✔ AbortError says cancelled (0.285613ms)
  536. ✔ an authenticator that already holds a passkey (0.316229ms)
  537. ✔ a network failure is reported (0.270203ms)
  538. ✔ a null credential is not sent (0.277755ms)
  539. ✔ a credential without toJSON is reported, not sent (0.413419ms)
  540. ✔ a begin answer that is not JSON (0.489997ms)
  541. ✔ a begin answer with the wrong shape (1.397283ms)
  542. ✔ a name over 64 bytes (UTF-8) stops before begin (0.429473ms)
  543. ✔ 64 bytes is fine, in ASCII or in two-byte characters (0.356432ms)
  544. ✔ control and direction characters stop before begin (1.384807ms)
  545. ✔ plain text with a zero width joiner, accents and emoji is fine (0.228444ms)
  546. ✔ an empty name is allowed: the server names the passkey (0.309717ms)
  547. ✔ an old browser: the buttons are disabled with a reason, nothing is fetched (0.43802ms)
  548. ✔ no PublicKeyCredential at all (0.205969ms)
  549. ✔ a supported browser keeps the buttons enabled (0.369605ms)
  550. ✔ a disabled button ignores a submit (0.193237ms)
  551. ✔ register needs parseCreationOptionsFromJSON (0.230992ms)
  552. ✔ l focuses the main action of the panel, j / k walk its shown controls, h goes back (2.520223ms)
  553. ✔ without a primary action, l takes the first shown control (0.254552ms)
  554. ✔ h outside the panel leaves the focus alone; j / k outside it are not taken (0.215076ms)
  555. ✔ get answers the stored value, else the fallback (null by default) (2.802969ms)
  556. ✔ set stores strings; null and undefined remove; remove forgets (0.322712ms)
  557. ✔ without storage nothing throws and the value holds for the page (0.273866ms)
  558. ✔ a storage that refuses reads and writes does not throw either (0.287233ms)
  559. ✔ a quota error on write keeps the value for the page; a later write that works wins (0.270225ms)
  560. ✔ a getter of localStorage that throws (sandboxed frame) is survived (0.294652ms)
  561. ✔ watch calls back with the new value of its key only, and stops when told (0.928461ms)
  562. ✔ watch ignores the events of another storage area (sessionStorage) (0.238728ms)
  563. ✔ an event from another tab replaces a value held for this page (0.319188ms)
  564. ✔ pref answers only values of its list, else the fallback (0.7205ms)
  565. ✔ pref works with the empty string as a value (keys-off) (0.211982ms)
  566. ✔ pref.watch gives validated values (0.238286ms)
  567. ✔ a directory opens in place and closes again without a request (10.632329ms)
  568. ✔ TS-001/TS-002: a directory that loads under a closed ancestor comes in hidden (2.708909ms)
  569. ✔ a closed directory under a closed ancestor stays closed when the ancestor opens (3.344637ms)
  570. ✔ TS-006: only rows are kept; no row falls back to navigating (3.357517ms)
  571. ✔ a modified or non-left click keeps the link navigation (0.916179ms)
  572. ✔ a second click while the rows are loading is ignored (2.05926ms)
  573. ✔ a failed request navigates to the directory (1.785265ms)
  574. ✔ the tree-more row has a depth and follows its directory (1.868229ms)
  575. ✔ l opens a closed directory, then enters it; h closes it, or goes to its directory (2.107649ms)
  576. ✔ l on a file opens it; Enter opens a file and toggles a directory (0.838461ms)
  577. ✔ h on a top-level row goes to the parent page, when there is one (0.316677ms)
  578. ✔ the keys are not the tree's while the finder shows its results (0.237209ms)
  579. ✔ a click on the name puts the cursor on the row (0.332433ms)
  580. ✔ init: one tab stop, the row under the cursor; name links are out of the tab order (0.329065ms)
  581. ✔ l or h before any focus in the tree brings the focus to the cursor row (1.40833ms)
  582. ✔ l and h move the focus with the cursor, and the tab stop with them (1.399643ms)
  583. ✔ sync (j k gg G of ermite.js) puts the focus and the tab stop on the row (0.315315ms)
  584. ✔ a click puts the focus and the tab stop on its row, directory or not (1.835355ms)
  585. ✔ collapsing a branch with the focus or the cursor in it moves both to the directory (1.792216ms)
  586. ✔ collapsing a directory the focus is not in leaves the focus alone (0.553415ms)
  587. ✔ Enter acts on the row that has the cursor, which is the focused row (1.577624ms)
  588. ✔ inserted rows get their level; the server gave them posinset and setsize (2.814826ms)
  589. ✔ Down, Up, Home and End walk the visible rows, with the focus (2.126096ms)
  590. ✔ Right opens a closed directory, enters an open one, and does nothing on a file (1.319807ms)
  591. ✔ Left closes an open directory, goes to the parent, and does nothing at the top (1.713018ms)
  592. ✔ l opens a file where Right does not (0.209525ms)
  593. ✔ the tree takes no arrow key while the finder shows its results, nor any other key (0.139779ms)
  594. ℹ tests 141
  595. ℹ suites 0
  596. ℹ pass 141
  597. ℹ fail 0
  598. ℹ cancelled 0
  599. ℹ skipped 0
  600. ℹ todo 0
  601. ℹ duration_ms 1099.427174
  602. Post job cleanup.
  603. ##[command]/usr/bin/docker exec 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601 sh -c "cat /etc/*release | grep ^ID"
  604. (node:861) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
  605. (Use `node --trace-deprecation ...` to show where the warning was created)
  606. [command]/__t/go/1.27.1/x64/bin/go env GOMODCACHE
  607. [command]/__t/go/1.27.1/x64/bin/go env GOCACHE
  608. /github/home/go/pkg/mod
  609. /github/home/.cache/go-build
  610. Cache hit occurred on the primary key setup-go-Linux-x64-undefined-go-1.27.1-9c17a4d5131575ad7935350bd91af5b2ab5fbcc1a15a76982dcb341fc86c7bb7, not saving cache.
  611. Post job cleanup.
  612. ##[command]/usr/bin/docker exec 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601 sh -c "cat /etc/*release | grep ^ID"
  613. [command]/usr/sbin/git version
  614. git version 2.56.0
  615. Copying '/github/home/.gitconfig' to '/__w/_temp/d2dd432b-2ad9-4575-89b2-df23de3a45d3/.gitconfig'
  616. Temporarily overriding HOME='/__w/_temp/d2dd432b-2ad9-4575-89b2-df23de3a45d3' before making global git config changes
  617. Adding repository directory to the temporary git global config as a safe directory
  618. [command]/usr/sbin/git config --global --add safe.directory /__w/ermite/ermite
  619. Removing SSH command configuration
  620. [command]/usr/sbin/git config --local --name-only --get-regexp core\.sshCommand
  621. [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' || :"
  622. Removing HTTP extra header
  623. [command]/usr/sbin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader
  624. [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' || :"
  625. Removing includeIf entries pointing to credentials config files
  626. [command]/usr/sbin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
  627. includeif.gitdir:/__w/ermite/ermite/.git.path
  628. includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path
  629. includeif.gitdir:/github/workspace/.git.path
  630. includeif.gitdir:/github/workspace/.git/worktrees/*.path
  631. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/__w/ermite/ermite/.git.path
  632. /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  633. [command]/usr/sbin/git config --local --unset includeif.gitdir:/__w/ermite/ermite/.git.path /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  634. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path
  635. /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  636. [command]/usr/sbin/git config --local --unset includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path /__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  637. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path
  638. /github/runner_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  639. [command]/usr/sbin/git config --local --unset includeif.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  640. [command]/usr/sbin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path
  641. /github/runner_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  642. [command]/usr/sbin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config
  643. [command]/usr/sbin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
  644. Removing credentials config '/__w/_temp/git-credentials-a0ea8332-b10f-4e9c-9491-7e9a968eaed8.config'
  645. Stop and remove container: ea5de0b626d04485b01f2e28cb70c6d0_archlinuxlatest_ed18d4
  646. ##[command]/usr/bin/docker rm --force 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601
  647. 495d7038862a3333837502ae70b96fe2bed9ec0e00053c2c6fcb03ac3b38c601
  648. Remove container network: github_network_85c5ecd7e1d4487eaab12522654518a1
  649. ##[command]/usr/bin/docker network rm github_network_85c5ecd7e1d4487eaab12522654518a1
  650. github_network_85c5ecd7e1d4487eaab12522654518a1
  651. Cleaning up orphan processes
  652. ##[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 42

↑↓ moveenter openesc close