2026-10-20T14:51:36.645656103Z Current runner version: 'v0.5.0' 2026-10-20T14:51:36.650206905Z ##[group]GITHUB_TOKEN Permissions 2026-10-20T14:51:36.650235589Z Contents: read 2026-10-20T14:51:36.65023936Z Metadata: read 2026-10-20T14:51:36.650242056Z Packages: read 2026-10-20T14:51:36.650248645Z ##[endgroup] 2026-10-20T14:51:36.650253199Z Secret source: Actions 2026-10-20T14:51:36.650259957Z Cache mode: write 2026-10-20T14:51:36.650266886Z Prepare workflow directory 2026-10-20T14:51:36.651182489Z Prepare all required actions 2026-10-20T14:51:36.651318221Z Getting action download info 2026-10-20T14:51:36.674341358Z Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803) 2026-10-20T14:51:36.71432433Z Download action repository 'actions/setup-go@v5' (SHA:40f1582b2485089dde7abd97c1529aa768e1baff) 2026-10-20T14:51:36.825825249Z Complete job name: Test 2026-10-20T14:51:36.826804283Z ##[group]Checking docker version 2026-10-20T14:51:36.826902611Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' 2026-10-20T14:51:36.869421994Z '1.56' 2026-10-20T14:51:36.869467084Z Docker daemon API version: '1.56' 2026-10-20T14:51:36.869533954Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' 2026-10-20T14:51:36.889299583Z '1.56' 2026-10-20T14:51:36.889357275Z Docker client API version: '1.56' 2026-10-20T14:51:36.889365036Z ##[endgroup] 2026-10-20T14:51:36.889422414Z ##[group]Clean up resources from previous jobs 2026-10-20T14:51:36.889483108Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=896af1" 2026-10-20T14:51:36.904310442Z ##[command]/usr/bin/docker network prune --force --filter "label=896af1" 2026-10-20T14:51:36.920176071Z ##[endgroup] 2026-10-20T14:51:36.920207676Z ##[group]Create local container network 2026-10-20T14:51:36.920279433Z ##[command]/usr/bin/docker network create --label 896af1 github_network_ff90e690ec3449658fbfee3264fdc8b0 2026-10-20T14:51:36.956123543Z b478b12bdbebcd98620314511eb3ccdb180ee6d45b9bf8bce3136a7f0128eb1c 2026-10-20T14:51:36.956179808Z ##[endgroup] 2026-10-20T14:51:36.956230938Z ##[group]Starting job container 2026-10-20T14:51:36.956338285Z ##[command]/usr/bin/docker pull archlinux:latest 2026-10-20T14:51:37.931758718Z latest: Pulling from library/archlinux 2026-10-20T14:51:38.07538963Z 7450fb54bb4f: Pulling fs layer 2026-10-20T14:51:38.075429746Z e4c7c6c5e741: Pulling fs layer 2026-10-20T14:51:38.270329019Z e4c7c6c5e741: Download complete 2026-10-20T14:51:40.615424133Z 7450fb54bb4f: Verifying Checksum 2026-10-20T14:51:40.615453809Z 7450fb54bb4f: Download complete 2026-10-20T14:51:45.23836913Z 7450fb54bb4f: Pull complete 2026-10-20T14:51:45.244265991Z e4c7c6c5e741: Pull complete 2026-10-20T14:51:45.248078757Z Digest: sha256:e43f1fd80e073992c5f173efbbbf65144170bf60aeb7369940087d63eacea8f4 2026-10-20T14:51:45.248104604Z Status: Downloaded newer image for archlinux:latest 2026-10-20T14:51:45.248110092Z docker.io/library/archlinux:latest 2026-10-20T14:51:45.250590738Z ##[command]/usr/bin/docker create --name d7e1c0d28c9a4aaf90caf1bb3055cbc2_archlinuxlatest_c0a55a --label 896af1 --workdir /__w/ermite/ermite --network github_network_ff90e690ec3449658fbfee3264fdc8b0 -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" 2026-10-20T14:51:46.556871816Z 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 2026-10-20T14:51:46.556964601Z ##[command]/usr/bin/docker start 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 2026-10-20T14:51:46.713567158Z 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 2026-10-20T14:51:46.713701094Z ##[command]/usr/bin/docker ps --all --filter id=2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" 2026-10-20T14:51:46.733386606Z 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 Up Less than a second 2026-10-20T14:51:46.733468021Z ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 2026-10-20T14:51:46.75120423Z HOME=/github/home 2026-10-20T14:51:46.751240615Z GITHUB_ACTIONS=true 2026-10-20T14:51:46.751243652Z CI=true 2026-10-20T14:51:46.751246063Z PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2026-10-20T14:51:46.751249037Z LANG=C.UTF-8 2026-10-20T14:51:46.753465923Z ##[endgroup] 2026-10-20T14:51:46.753490547Z ##[group]Waiting for all services to be ready 2026-10-20T14:51:46.753496492Z ##[endgroup] 2026-10-20T14:51:46.754521675Z ##[group]Run pacman -Syu --noconfirm --needed git gcc openssh nodejs 2026-10-20T14:51:46.75453937Z pacman -Syu --noconfirm --needed git gcc openssh nodejs 2026-10-20T14:51:46.75454597Z shell: sh -e {0} 2026-10-20T14:51:46.754549824Z env: 2026-10-20T14:51:46.754555433Z GOWORK: off 2026-10-20T14:51:46.754565102Z ##[endgroup] 2026-10-20T14:51:46.888922679Z :: Synchronizing package databases... 2026-10-20T14:51:47.126152491Z core downloading... 2026-10-20T14:51:47.126187712Z extra downloading... 2026-10-20T14:51:47.317096389Z :: Starting full system upgrade... 2026-10-20T14:51:47.322260509Z resolving dependencies... 2026-10-20T14:51:47.325956006Z looking for conflicting packages... 2026-10-20T14:51:47.328482245Z 2026-10-20T14:51:47.328511243Z Package (24) Old Version New Version Net Change Download Size 2026-10-20T14:51:47.328517041Z 2026-10-20T14:51:47.328519224Z extra/abseil-cpp 20260817.0-2 7.15 MiB 1.35 MiB 2026-10-20T14:51:47.328521654Z extra/ada 4.0.0-1 0.95 MiB 0.31 MiB 2026-10-20T14:51:47.3285236Z extra/c-ares 1.34.8-1 0.53 MiB 0.23 MiB 2026-10-20T14:51:47.328525485Z core/db5.3 5.3.28-7 6.48 MiB 1.26 MiB 2026-10-20T14:51:47.328528186Z core/dbus 1.16.2-1 1.16.2-2 0.03 MiB 0.35 MiB 2026-10-20T14:51:47.328531475Z extra/gtest 1.18.0-1 1.67 MiB 0.39 MiB 2026-10-20T14:51:47.328534606Z core/libedit 20260512_3.1-1 0.27 MiB 0.11 MiB 2026-10-20T14:51:47.328544942Z core/libisl 0.28-1 5.90 MiB 0.94 MiB 2026-10-20T14:51:47.328548977Z core/libmpc 1.4.1-1 0.19 MiB 0.09 MiB 2026-10-20T14:51:47.328552043Z extra/libuv 1.52.1-2 0.64 MiB 0.26 MiB 2026-10-20T14:51:47.328554945Z core/linux-api-headers 7.2-1 7.3-1 0.07 MiB 1.53 MiB 2026-10-20T14:51:47.328562915Z core/perl 5.44.0-1 72.30 MiB 20.98 MiB 2026-10-20T14:51:47.328567005Z extra/perl-error 0.17030-3 0.04 MiB 0.02 MiB 2026-10-20T14:51:47.328570283Z extra/perl-mailtools 2.22-3 0.10 MiB 0.06 MiB 2026-10-20T14:51:47.32857766Z extra/perl-timedate 2.35-1 0.15 MiB 0.06 MiB 2026-10-20T14:51:47.328590715Z extra/simdjson 1:5.0.5-1 10.27 MiB 0.44 MiB 2026-10-20T14:51:47.328595645Z core/systemd 262-1 262.1-1 0.03 MiB 10.68 MiB 2026-10-20T14:51:47.328598986Z core/systemd-libs 262-1 262.1-1 0.01 MiB 1.44 MiB 2026-10-20T14:51:47.328602917Z core/systemd-sysvcompat 262-1 262.1-1 0.00 MiB 0.01 MiB 2026-10-20T14:51:47.328606366Z extra/zlib-ng 2.3.3-1 0.28 MiB 0.11 MiB 2026-10-20T14:51:47.328609577Z core/gcc 16.2.1+r23+gd564253eb6c8-1 220.89 MiB 57.93 MiB 2026-10-20T14:51:47.328612818Z extra/git 2.56.0-1 33.54 MiB 7.43 MiB 2026-10-20T14:51:47.328616396Z extra/nodejs 26.12.0-1 64.12 MiB 17.48 MiB 2026-10-20T14:51:47.328619428Z core/openssh 10.6p1-2 6.77 MiB 1.43 MiB 2026-10-20T14:51:47.328622332Z 2026-10-20T14:51:47.328625793Z Total Download Size: 124.89 MiB 2026-10-20T14:51:47.32862936Z Total Installed Size: 484.66 MiB 2026-10-20T14:51:47.32863219Z Net Upgrade Size: 432.37 MiB 2026-10-20T14:51:47.328635289Z 2026-10-20T14:51:47.328638326Z :: Proceed with installation? [Y/n] 2026-10-20T14:51:47.328640279Z :: Retrieving packages... 2026-10-20T14:51:48.591859433Z gcc-16.2.1+r23+gd564253eb6c8-1-x86_64 downloading... 2026-10-20T14:51:48.591893317Z perl-5.44.0-1-x86_64 downloading... 2026-10-20T14:51:48.59189788Z nodejs-26.12.0-1-x86_64 downloading... 2026-10-20T14:51:48.591899949Z systemd-262.1-1-x86_64 downloading... 2026-10-20T14:51:48.591901743Z git-2.56.0-1-x86_64 downloading... 2026-10-20T14:51:48.591903528Z linux-api-headers-7.3-1-x86_64 downloading... 2026-10-20T14:51:48.591905366Z systemd-libs-262.1-1-x86_64 downloading... 2026-10-20T14:51:48.591907122Z openssh-10.6p1-2-x86_64 downloading... 2026-10-20T14:51:48.591908928Z abseil-cpp-20260817.0-2-x86_64 downloading... 2026-10-20T14:51:48.591910679Z db5.3-5.3.28-7-x86_64 downloading... 2026-10-20T14:51:48.591913657Z libisl-0.28-1-x86_64 downloading... 2026-10-20T14:51:48.591916082Z simdjson-1:5.0.5-1-x86_64 downloading... 2026-10-20T14:51:48.591917828Z gtest-1.18.0-1-x86_64 downloading... 2026-10-20T14:51:48.591919553Z dbus-1.16.2-2-x86_64 downloading... 2026-10-20T14:51:48.591944128Z ada-4.0.0-1-x86_64 downloading... 2026-10-20T14:51:48.591949739Z libuv-1.52.1-2-x86_64 downloading... 2026-10-20T14:51:48.591954765Z c-ares-1.34.8-1-x86_64 downloading... 2026-10-20T14:51:48.591958366Z libedit-20260512_3.1-1-x86_64 downloading... 2026-10-20T14:51:48.591961752Z zlib-ng-2.3.3-1-x86_64 downloading... 2026-10-20T14:51:48.591964438Z libmpc-1.4.1-1-x86_64 downloading... 2026-10-20T14:51:48.591967245Z perl-timedate-2.35-1-any downloading... 2026-10-20T14:51:48.591986306Z perl-mailtools-2.22-3-any downloading... 2026-10-20T14:51:48.591998675Z perl-error-0.17030-3-any downloading... 2026-10-20T14:51:48.59200583Z systemd-sysvcompat-262.1-1-x86_64 downloading... 2026-10-20T14:51:48.592009533Z checking keyring... 2026-10-20T14:51:48.685284697Z checking package integrity... 2026-10-20T14:51:49.284191186Z loading package files... 2026-10-20T14:51:49.337092595Z checking for file conflicts... 2026-10-20T14:51:49.347404681Z :: Processing package changes... 2026-10-20T14:51:49.347432714Z upgrading linux-api-headers... 2026-10-20T14:51:49.509809236Z installing db5.3... 2026-10-20T14:51:49.526270261Z installing perl... 2026-10-20T14:51:49.876347241Z installing perl-error... 2026-10-20T14:51:49.876375205Z installing perl-timedate... 2026-10-20T14:51:49.883638214Z installing perl-mailtools... 2026-10-20T14:51:49.886601444Z installing zlib-ng... 2026-10-20T14:51:49.889911188Z upgrading systemd-libs... 2026-10-20T14:51:49.909265396Z installing git... 2026-10-20T14:51:50.141435661Z Optional dependencies for git 2026-10-20T14:51:50.141466275Z git-zsh-completion: upstream zsh completion 2026-10-20T14:51:50.141470095Z tk: gitk and git gui 2026-10-20T14:51:50.14147223Z openssh: ssh transport and crypto [pending] 2026-10-20T14:51:50.141474229Z man: show help with `git command --help` 2026-10-20T14:51:50.141475905Z perl-libwww: git svn 2026-10-20T14:51:50.141477827Z perl-term-readkey: git svn and interactive.singlekey setting 2026-10-20T14:51:50.141481581Z perl-io-socket-ssl: git send-email TLS support 2026-10-20T14:51:50.141483558Z perl-authen-sasl: git send-email TLS support 2026-10-20T14:51:50.141485503Z perl-cgi: gitweb (web interface) support 2026-10-20T14:51:50.141489371Z python: git svn & git p4 2026-10-20T14:51:50.141491263Z subversion: git svn 2026-10-20T14:51:50.141493123Z org.freedesktop.secrets: keyring credential helper 2026-10-20T14:51:50.141494912Z libsecret: libsecret credential helper [installed] 2026-10-20T14:51:50.141496749Z less: the default pager for git 2026-10-20T14:51:50.141498544Z installing libisl... 2026-10-20T14:51:50.158978407Z installing libmpc... 2026-10-20T14:51:50.161256189Z installing gcc... 2026-10-20T14:51:50.786300887Z Optional dependencies for gcc 2026-10-20T14:51:50.786331768Z lib32-gcc-libs: for generating code for 32-bit ABI 2026-10-20T14:51:50.78633588Z installing libedit... 2026-10-20T14:51:50.78633808Z installing openssh... 2026-10-20T14:51:50.806278557Z Optional dependencies for openssh 2026-10-20T14:51:50.806308172Z libfido2: FIDO/U2F support 2026-10-20T14:51:50.80631197Z sh: for ssh-copy-id and findssl.sh [installed] 2026-10-20T14:51:50.806315795Z x11-ssh-askpass: input passphrase in X 2026-10-20T14:51:50.806317837Z xorg-xauth: X11 forwarding 2026-10-20T14:51:50.806319656Z installing gtest... 2026-10-20T14:51:50.814668993Z Optional dependencies for gtest 2026-10-20T14:51:50.814695932Z python: gmock generator 2026-10-20T14:51:50.814699485Z installing abseil-cpp... 2026-10-20T14:51:50.888819761Z installing ada... 2026-10-20T14:51:50.894573225Z installing c-ares... 2026-10-20T14:51:50.897836912Z installing libuv... 2026-10-20T14:51:50.901165692Z installing simdjson... 2026-10-20T14:51:50.914134932Z installing nodejs... 2026-10-20T14:51:51.078048866Z Optional dependencies for nodejs 2026-10-20T14:51:51.078087595Z npm: nodejs package manager 2026-10-20T14:51:51.078092469Z upgrading dbus... 2026-10-20T14:51:51.09382877Z upgrading systemd... 2026-10-20T14:51:51.433743411Z Creating group 'git' with GID 969. 2026-10-20T14:51:51.433779916Z Creating user 'git' (git daemon user) with UID 969 and GID 969. 2026-10-20T14:51:51.482592812Z upgrading systemd-sysvcompat... 2026-10-20T14:51:53.017374076Z :: Running post-transaction hooks... 2026-10-20T14:51:53.017408995Z ( 1/12) Creating system user accounts... 2026-10-20T14:51:53.073743837Z ( 2/12) Creating temporary files... 2026-10-20T14:51:53.129339217Z /usr/lib/tmpfiles.d/journal-nocow.conf:26: Failed to resolve specifier: uninitialized /etc/ detected, skipping. 2026-10-20T14:51:53.129381462Z All rules containing unresolvable specifiers will be skipped. 2026-10-20T14:51:53.141357168Z ( 3/12) Updating journal message catalog... 2026-10-20T14:51:53.2131338Z ( 4/12) Updating udev hardware database... 2026-10-20T14:51:53.750734411Z ( 5/12) Applying kernel sysctl settings... 2026-10-20T14:51:53.808139636Z Skipped: Current root is not booted. 2026-10-20T14:51:53.808168365Z ( 6/12) Reloading system manager configuration... 2026-10-20T14:51:53.861831729Z Skipped: Current root is not booted. 2026-10-20T14:51:53.861862755Z ( 7/12) Reloading user manager configuration... 2026-10-20T14:51:53.916583682Z Skipped: Current root is not booted. 2026-10-20T14:51:53.916625917Z ( 8/12) Enqueuing marked services... 2026-10-20T14:51:53.972866655Z Skipped: Current root is not booted. 2026-10-20T14:51:53.972898966Z ( 9/12) Reloading device manager configuration... 2026-10-20T14:51:54.028534887Z Skipped: Current root is not booted. 2026-10-20T14:51:54.028563019Z (10/12) Arming ConditionNeedsUpdate... 2026-10-20T14:51:54.081785246Z (11/12) Reloading system bus configuration... 2026-10-20T14:51:54.137726601Z Skipped: Current root is not booted. 2026-10-20T14:51:54.137758618Z (12/12) Checking for old perl modules... 2026-10-20T14:51:54.224425124Z ##[group]Run actions/checkout@v6 2026-10-20T14:51:54.224439623Z with: 2026-10-20T14:51:54.22444329Z repository: bnema/ermite 2026-10-20T14:51:54.224445802Z token: *** 2026-10-20T14:51:54.224449701Z ssh-strict: true 2026-10-20T14:51:54.224451771Z ssh-user: git 2026-10-20T14:51:54.224456776Z persist-credentials: true 2026-10-20T14:51:54.224459243Z clean: true 2026-10-20T14:51:54.224466155Z sparse-checkout-cone-mode: true 2026-10-20T14:51:54.224468826Z fetch-depth: 1 2026-10-20T14:51:54.224471481Z fetch-tags: false 2026-10-20T14:51:54.224473499Z show-progress: true 2026-10-20T14:51:54.224475535Z lfs: false 2026-10-20T14:51:54.22447753Z submodules: false 2026-10-20T14:51:54.224479392Z set-safe-directory: true 2026-10-20T14:51:54.224481407Z allow-unsafe-pr-checkout: false 2026-10-20T14:51:54.224483371Z env: 2026-10-20T14:51:54.224486127Z GOWORK: off 2026-10-20T14:51:54.224487906Z ##[endgroup] 2026-10-20T14:51:54.22471966Z ##[command]/usr/bin/docker exec 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 sh -c "cat /etc/*release | grep ^ID" 2026-10-20T14:51:54.477008706Z Syncing repository: bnema/ermite 2026-10-20T14:51:54.477034255Z ##[group]Getting Git version info 2026-10-20T14:51:54.477046884Z Working directory is '/__w/ermite/ermite' 2026-10-20T14:51:54.479128611Z [command]/usr/sbin/git version 2026-10-20T14:51:54.484559956Z git version 2.56.0 2026-10-20T14:51:54.486844316Z ##[endgroup] 2026-10-20T14:51:54.486941406Z Temporarily overriding HOME='/__w/_temp/29d79cb5-859e-4ae3-ba31-f8f46390cc74' before making global git config changes 2026-10-20T14:51:54.486967113Z Adding repository directory to the temporary git global config as a safe directory 2026-10-20T14:51:54.487015554Z [command]/usr/sbin/git config --global --add safe.directory /__w/ermite/ermite 2026-10-20T14:51:54.492986708Z Deleting the contents of '/__w/ermite/ermite' 2026-10-20T14:51:54.493015181Z ##[group]Determining repository object format 2026-10-20T14:51:54.493020148Z ##[endgroup] 2026-10-20T14:51:54.493035229Z ##[group]Initializing the repository 2026-10-20T14:51:54.493047674Z [command]/usr/sbin/git init /__w/ermite/ermite 2026-10-20T14:51:54.498800193Z hint: Using 'master' as the name for the initial branch. This default branch name 2026-10-20T14:51:54.498845983Z hint: will change to "main" in Git 3.0. To configure the initial branch name 2026-10-20T14:51:54.498856623Z hint: to use in all of your new repositories, which will suppress this warning, 2026-10-20T14:51:54.498873527Z hint: call: 2026-10-20T14:51:54.498888559Z hint: 2026-10-20T14:51:54.49890124Z hint: git config --global init.defaultBranch 2026-10-20T14:51:54.498917467Z hint: 2026-10-20T14:51:54.498932375Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2026-10-20T14:51:54.498949506Z hint: 'development'. The just-created branch can be renamed via this command: 2026-10-20T14:51:54.498967459Z hint: 2026-10-20T14:51:54.498996261Z hint: git branch -m 2026-10-20T14:51:54.49900199Z hint: 2026-10-20T14:51:54.499012877Z hint: Disable this message with "git config set advice.defaultBranchName false" 2026-10-20T14:51:54.499017855Z Initialized empty Git repository in /__w/ermite/ermite/.git/ 2026-10-20T14:51:54.499025718Z [command]/usr/sbin/git remote add origin http://ermite:7341/bnema/ermite 2026-10-20T14:51:54.504500015Z ##[endgroup] 2026-10-20T14:51:54.504529368Z ##[group]Disabling automatic garbage collection 2026-10-20T14:51:54.504581305Z [command]/usr/sbin/git config --local gc.auto 0 2026-10-20T14:51:54.506825479Z ##[endgroup] 2026-10-20T14:51:54.506851143Z ##[group]Setting up auth 2026-10-20T14:51:54.506876727Z Removing SSH command configuration 2026-10-20T14:51:54.506896187Z [command]/usr/sbin/git config --local --name-only --get-regexp core\.sshCommand 2026-10-20T14:51:54.513023655Z [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' || :" 2026-10-20T14:51:54.553189903Z Removing HTTP extra header 2026-10-20T14:51:54.553223772Z [command]/usr/sbin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader 2026-10-20T14:51:54.555925957Z [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' || :" 2026-10-20T14:51:54.599413437Z Removing includeIf entries pointing to credentials config files 2026-10-20T14:51:54.599453726Z [command]/usr/sbin/git config --local --name-only --get-regexp ^includeIf\.gitdir: 2026-10-20T14:51:54.60154109Z [command]/usr/sbin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url 2026-10-20T14:51:54.646639833Z [command]/usr/sbin/git config --file /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config http.http://ermite:7341/.extraheader AUTHORIZATION: basic *** 2026-10-20T14:51:54.651062649Z [command]/usr/sbin/git config --local includeIf.gitdir:/__w/ermite/ermite/.git.path /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config 2026-10-20T14:51:54.655994555Z [command]/usr/sbin/git config --local includeIf.gitdir:/__w/ermite/ermite/.git/worktrees/*.path /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config 2026-10-20T14:51:54.658116082Z [command]/usr/sbin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config 2026-10-20T14:51:54.664716927Z [command]/usr/sbin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config 2026-10-20T14:51:54.667763668Z ##[endgroup] 2026-10-20T14:51:54.667788315Z ##[group]Fetching the repository 2026-10-20T14:51:54.667810892Z [command]/usr/sbin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +3ed746903cd6a04584ae699b9d178cd5e6d53513:refs/remotes/origin/main 2026-10-20T14:51:55.155324699Z From http://ermite:7341/bnema/ermite 2026-10-20T14:51:55.155372687Z * [new ref] 3ed746903cd6a04584ae699b9d178cd5e6d53513 -> origin/main 2026-10-20T14:51:55.155391764Z [command]/usr/sbin/git branch --list --remote origin/main 2026-10-20T14:51:55.157705056Z origin/main 2026-10-20T14:51:55.160497009Z [command]/usr/sbin/git rev-parse refs/remotes/origin/main 2026-10-20T14:51:55.162639359Z 3ed746903cd6a04584ae699b9d178cd5e6d53513 2026-10-20T14:51:55.162668365Z ##[endgroup] 2026-10-20T14:51:55.162674381Z ##[group]Determining the checkout info 2026-10-20T14:51:55.162685039Z ##[endgroup] 2026-10-20T14:51:55.162702753Z [command]/usr/sbin/git sparse-checkout disable 2026-10-20T14:51:55.169472774Z [command]/usr/sbin/git config --local --unset-all extensions.worktreeConfig 2026-10-20T14:51:55.171622912Z ##[group]Checking out the ref 2026-10-20T14:51:55.171669693Z [command]/usr/sbin/git checkout --progress --force -B main refs/remotes/origin/main 2026-10-20T14:51:55.238163374Z Switched to a new branch 'main' 2026-10-20T14:51:55.238205307Z branch 'main' set up to track 'origin/main'. 2026-10-20T14:51:55.23821848Z ##[endgroup] 2026-10-20T14:51:55.242830153Z [command]/usr/sbin/git log -1 --format=%H 2026-10-20T14:51:55.2450927Z 3ed746903cd6a04584ae699b9d178cd5e6d53513 2026-10-20T14:51:55.255670566Z ##[group]Run git config --global --add safe.directory "$GITHUB_WORKSPACE" 2026-10-20T14:51:55.255686134Z git config --global --add safe.directory "$GITHUB_WORKSPACE" 2026-10-20T14:51:55.255690423Z shell: sh -e {0} 2026-10-20T14:51:55.255692627Z env: 2026-10-20T14:51:55.255695477Z GOWORK: off 2026-10-20T14:51:55.25569735Z ##[endgroup] 2026-10-20T14:51:55.316005271Z ##[group]Run actions/setup-go@v5 2026-10-20T14:51:55.316019835Z with: 2026-10-20T14:51:55.31602346Z go-version-file: go.mod 2026-10-20T14:51:55.316026161Z cache: true 2026-10-20T14:51:55.316028391Z check-latest: false 2026-10-20T14:51:55.316030411Z env: 2026-10-20T14:51:55.316032573Z GOWORK: off 2026-10-20T14:51:55.316034239Z ##[endgroup] 2026-10-20T14:51:55.316638875Z ##[command]/usr/bin/docker exec 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 sh -c "cat /etc/*release | grep ^ID" 2026-10-20T14:51:55.579398265Z Setup go version spec 1.27.1 2026-10-20T14:51:55.579450043Z Attempting to download 1.27.1... 2026-10-20T14:51:55.597380375Z (node:342) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead. 2026-10-20T14:51:55.597417313Z (Use `node --trace-deprecation ...` to show where the warning was created) 2026-10-20T14:51:55.862362623Z matching 1.27.1... 2026-10-20T14:51:55.864477346Z 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 2026-10-20T14:51:56.894617999Z Extracting Go... 2026-10-20T14:51:56.906437163Z [command]/usr/sbin/tar xz --warning=no-unknown-keyword --overwrite -C /__w/_temp/7420d451-11bf-49b5-8426-8244ebf486b5 -f /__w/_temp/5e54cc29-2508-4d50-b1d4-8e4f2984cc00 2026-10-20T14:51:58.446874518Z Successfully extracted go to /__w/_temp/7420d451-11bf-49b5-8426-8244ebf486b5 2026-10-20T14:51:58.446908393Z Adding to the cache ... 2026-10-20T14:52:02.768653392Z Successfully cached go to /__t/go/1.27.1/x64 2026-10-20T14:52:02.768695973Z Added go to the path 2026-10-20T14:52:02.768703107Z Successfully set up Go version 1.27.1 2026-10-20T14:52:02.797285055Z [command]/__t/go/1.27.1/x64/bin/go env GOMODCACHE 2026-10-20T14:52:02.801237744Z [command]/__t/go/1.27.1/x64/bin/go env GOCACHE 2026-10-20T14:52:02.804954804Z /github/home/go/pkg/mod 2026-10-20T14:52:02.804988087Z /github/home/.cache/go-build 2026-10-20T14:52:25.730159589Z Cache Size: ~660 MB (691836498 B) 2026-10-20T14:52:25.732650892Z [command]/usr/sbin/tar -xf /__w/_temp/0ea54342-e03c-49c9-b73c-e29919bc077c/cache.tzst -P -C /__w/ermite/ermite --use-compress-program unzstd 2026-10-20T14:52:31.776806159Z Cache restored successfully 2026-10-20T14:52:31.837469102Z Cache restored from key: setup-go-Linux-x64-undefined-go-1.27.1-18ab1982d508125689763e8035b92830502af31aca903a7274fc3c1a9008ff79 2026-10-20T14:52:31.837699675Z go version go1.27.1 linux/amd64 2026-10-20T14:52:31.837725929Z 2026-10-20T14:52:31.83773435Z ##[group]go env 2026-10-20T14:52:31.847797191Z AR='ar' 2026-10-20T14:52:31.847848216Z CC='gcc' 2026-10-20T14:52:31.847901134Z CGO_CFLAGS='-O2 -g' 2026-10-20T14:52:31.847922005Z CGO_CPPFLAGS='' 2026-10-20T14:52:31.847940545Z CGO_CXXFLAGS='-O2 -g' 2026-10-20T14:52:31.847953708Z CGO_ENABLED='1' 2026-10-20T14:52:31.847971973Z CGO_FFLAGS='-O2 -g' 2026-10-20T14:52:31.847990531Z CGO_LDFLAGS='-O2 -g' 2026-10-20T14:52:31.84800737Z CXX='g++' 2026-10-20T14:52:31.848023802Z GCCGO='gccgo' 2026-10-20T14:52:31.848046267Z GO111MODULE='' 2026-10-20T14:52:31.848070434Z GOAMD64='v1' 2026-10-20T14:52:31.848085464Z GOARCH='amd64' 2026-10-20T14:52:31.848100957Z GOAUTH='netrc' 2026-10-20T14:52:31.8481147Z GOBIN='/github/home/go/bin' 2026-10-20T14:52:31.848133544Z GOCACHE='/github/home/.cache/go-build' 2026-10-20T14:52:31.848153335Z GOCACHEPROG='' 2026-10-20T14:52:31.848175188Z GODEBUG='' 2026-10-20T14:52:31.848194846Z GOENV='/github/home/.config/go/env' 2026-10-20T14:52:31.848214159Z GOEXE='' 2026-10-20T14:52:31.848229009Z GOEXPERIMENT='' 2026-10-20T14:52:31.848243597Z GOFIPS140='off' 2026-10-20T14:52:31.848389933Z GOFLAGS='' 2026-10-20T14:52:31.848425467Z GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4080668642=/tmp/go-build -gno-record-gcc-switches' 2026-10-20T14:52:31.848485507Z GOHOSTARCH='amd64' 2026-10-20T14:52:31.848568527Z GOHOSTOS='linux' 2026-10-20T14:52:31.848587919Z GOINSECURE='' 2026-10-20T14:52:31.848636444Z GOMOD='/__w/ermite/ermite/go.mod' 2026-10-20T14:52:31.848663784Z GOMODCACHE='/github/home/go/pkg/mod' 2026-10-20T14:52:31.848721928Z GONOPROXY='' 2026-10-20T14:52:31.848739011Z GONOSUMDB='' 2026-10-20T14:52:31.848813843Z GOOS='linux' 2026-10-20T14:52:31.848831119Z GOPACKAGESDRIVER='' 2026-10-20T14:52:31.84889872Z GOPATH='/github/home/go' 2026-10-20T14:52:31.848950169Z GOPRIVATE='' 2026-10-20T14:52:31.8490018Z GOPROXY='https://proxy.golang.org,direct' 2026-10-20T14:52:31.849059019Z GOROOT='/__t/go/1.27.1/x64' 2026-10-20T14:52:31.849110199Z GOSUMDB='sum.golang.org' 2026-10-20T14:52:31.849158482Z GOTELEMETRY='local' 2026-10-20T14:52:31.849207192Z GOTELEMETRYDIR='/github/home/.config/go/telemetry' 2026-10-20T14:52:31.849262669Z GOTMPDIR='' 2026-10-20T14:52:31.849318166Z GOTOOLCHAIN='auto' 2026-10-20T14:52:31.849374602Z GOTOOLDIR='/__t/go/1.27.1/x64/pkg/tool/linux_amd64' 2026-10-20T14:52:31.849420481Z GOVCS='' 2026-10-20T14:52:31.849468496Z GOVERSION='go1.27.1' 2026-10-20T14:52:31.849486764Z GOWORK='off' 2026-10-20T14:52:31.849559803Z PKG_CONFIG='pkg-config' 2026-10-20T14:52:31.849607352Z 2026-10-20T14:52:31.849623566Z ##[endgroup] 2026-10-20T14:52:31.861520567Z ##[group]Run git --version 2026-10-20T14:52:31.861543388Z git --version 2026-10-20T14:52:31.861548763Z v=$(git --version | sed -E 's/^git version ([0-9]+)\.([0-9]+).*/\1 \2/') 2026-10-20T14:52:31.861551802Z set -- $v 2026-10-20T14:52:31.861559807Z if [ "$1" -lt 2 ] || { [ "$1" -eq 2 ] && [ "$2" -lt 45 ]; }; then 2026-10-20T14:52:31.861570687Z  echo "git 2.45 or newer is required" >&2 2026-10-20T14:52:31.86157565Z  exit 1 2026-10-20T14:52:31.861578778Z fi 2026-10-20T14:52:31.861584094Z shell: sh -e {0} 2026-10-20T14:52:31.861587406Z env: 2026-10-20T14:52:31.861591773Z GOWORK: off 2026-10-20T14:52:31.861594741Z ##[endgroup] 2026-10-20T14:52:31.91862268Z git version 2.56.0 2026-10-20T14:52:31.922270106Z ##[group]Run go mod tidy 2026-10-20T14:52:31.922284461Z go mod tidy 2026-10-20T14:52:31.922287444Z git diff --exit-code -- go.mod go.sum 2026-10-20T14:52:31.922291862Z shell: sh -e {0} 2026-10-20T14:52:31.922293822Z env: 2026-10-20T14:52:31.922297451Z GOWORK: off 2026-10-20T14:52:31.922299856Z ##[endgroup] 2026-10-20T14:52:32.141652682Z ##[group]Run scripts/templ-drift.sh 2026-10-20T14:52:32.141666843Z scripts/templ-drift.sh 2026-10-20T14:52:32.141672555Z shell: sh -e {0} 2026-10-20T14:52:32.141675976Z env: 2026-10-20T14:52:32.141681177Z GOWORK: off 2026-10-20T14:52:32.141688593Z ##[endgroup] 2026-10-20T14:52:32.510709805Z (✓) Post-generation event received, processing... [ updates=0 needsRestart=true needsBrowserReload=true ] 2026-10-20T14:52:32.510832483Z (✓) Complete [ updates=0 duration=184.183219ms ] 2026-10-20T14:52:32.525668178Z ##[group]Run go vet ./... 2026-10-20T14:52:32.525683008Z go vet ./... 2026-10-20T14:52:32.525687167Z shell: sh -e {0} 2026-10-20T14:52:32.525689079Z env: 2026-10-20T14:52:32.525693572Z GOWORK: off 2026-10-20T14:52:32.525695467Z ##[endgroup] 2026-10-20T14:52:39.034413872Z ##[group]Run go test -race $(go list ./... | grep -vx 'bnema.dev/ermite/internal/app') 2026-10-20T14:52:39.034431613Z go test -race $(go list ./... | grep -vx 'bnema.dev/ermite/internal/app') 2026-10-20T14:52:39.034436333Z shell: sh -e {0} 2026-10-20T14:52:39.034438927Z env: 2026-10-20T14:52:39.034442453Z GOWORK: off 2026-10-20T14:52:39.034444186Z ##[endgroup] 2026-10-20T14:52:50.402661669Z ? bnema.dev/ermite/cmd/ermite [no test files] 2026-10-20T14:52:50.402742385Z ? bnema.dev/ermite/gen/ermite/storage [no test files] 2026-10-20T14:52:50.402849024Z ok bnema.dev/ermite/internal/adapters/ciartifacts (cached) 2026-10-20T14:52:50.402871981Z ok bnema.dev/ermite/internal/adapters/cilogs (cached) 2026-10-20T14:52:50.402939573Z ok bnema.dev/ermite/internal/adapters/cisummaries (cached) 2026-10-20T14:52:50.402963263Z ok bnema.dev/ermite/internal/adapters/client (cached) 2026-10-20T14:52:50.403072889Z ok bnema.dev/ermite/internal/adapters/ermitegit (cached) 2026-10-20T14:52:50.403144735Z ok bnema.dev/ermite/internal/adapters/eventbus (cached) 2026-10-20T14:52:50.403216117Z ok bnema.dev/ermite/internal/adapters/gitcli (cached) 2026-10-20T14:52:50.403282578Z ok bnema.dev/ermite/internal/adapters/githttp (cached) 2026-10-20T14:52:50.403336489Z ok bnema.dev/ermite/internal/adapters/githubapi (cached) 2026-10-20T14:52:50.40335843Z ok bnema.dev/ermite/internal/adapters/githubraw (cached) 2026-10-20T14:52:50.403373662Z ok bnema.dev/ermite/internal/adapters/gitpush (cached) 2026-10-20T14:52:50.403387774Z ok bnema.dev/ermite/internal/adapters/gitremote (cached) 2026-10-20T14:52:50.403401271Z ok bnema.dev/ermite/internal/adapters/httpserver (cached) 2026-10-20T14:52:50.403414648Z ok bnema.dev/ermite/internal/adapters/kvstore (cached) 2026-10-20T14:52:50.403444009Z ? bnema.dev/ermite/internal/adapters/oidchttp [no test files] 2026-10-20T14:52:50.403461894Z ok bnema.dev/ermite/internal/adapters/rpc (cached) 2026-10-20T14:52:50.403477854Z ok bnema.dev/ermite/internal/adapters/secretbox (cached) 2026-10-20T14:52:50.403491654Z ok bnema.dev/ermite/internal/adapters/sigverify (cached) 2026-10-20T14:52:50.403504708Z ok bnema.dev/ermite/internal/adapters/sshsig (cached) 2026-10-20T14:53:33.397274264Z ok bnema.dev/ermite/internal/adapters/web 42.341s 2026-10-20T14:53:33.397322273Z ok bnema.dev/ermite/internal/adapters/webauthn (cached) 2026-10-20T14:53:33.397339861Z ok bnema.dev/ermite/internal/boundary 1.170s 2026-10-20T14:53:33.3973509Z ok bnema.dev/ermite/internal/clientlimit (cached) 2026-10-20T14:53:33.397364362Z ok bnema.dev/ermite/internal/config (cached) 2026-10-20T14:53:33.39737809Z ok bnema.dev/ermite/internal/domain (cached) 2026-10-20T14:53:33.397388184Z ? bnema.dev/ermite/internal/ports [no test files] 2026-10-20T14:53:33.397404436Z ? bnema.dev/ermite/internal/ports/mocks [no test files] 2026-10-20T14:53:33.397423663Z ? bnema.dev/ermite/internal/readertest [no test files] 2026-10-20T14:53:33.397443952Z ok bnema.dev/ermite/internal/usecase 22.211s 2026-10-20T14:53:33.397460258Z ? bnema.dev/ermite/scripts/loadtest [no test files] 2026-10-20T14:53:33.432942071Z ##[group]Run go test -race ./internal/app/ 2026-10-20T14:53:33.432959154Z go test -race ./internal/app/ 2026-10-20T14:53:33.432963773Z shell: sh -e {0} 2026-10-20T14:53:33.432966282Z env: 2026-10-20T14:53:33.432976297Z GOWORK: off 2026-10-20T14:53:33.432981388Z ##[endgroup] 2026-10-20T14:59:31.780598682Z --- FAIL: TestWebFilesGolden (1.42s) 2026-10-20T14:59:31.780653885Z --- FAIL: TestWebFilesGolden/blob-markdown (0.07s) 2026-10-20T14:59:31.780697528Z web_files_test.go:104: 2026-10-20T14:59:31.780781489Z Error Trace: /__w/ermite/ermite/internal/app/web_test.go:104 2026-10-20T14:59:31.780924632Z /__w/ermite/ermite/internal/app/web_files_test.go:104 2026-10-20T14:59:31.780962542Z Error: Not equal: 2026-10-20T14:59:31.802411943Z expected: "\n\n\n\n\n\ndocs/guide.md · files · example.test\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nskip to content\n
\n
\n\n\n\n\n\n
\n\n\n\nmain\nSHA7\n\n\n
\n
\n\n
\n
\n
\n

\nguide.md\n\nRaw\nHistory\nFolder\n\n

\n
\n

Guide

\n

Steps

\n

Run it.

\n
\nmake all\n\n
\n
\n
\nsource\n
 lo ? '-L' + hi : '')); trigger('sel')\" hx-on:sel=\"let m = location.hash.match(/^#L(\\d+)(?:-L(\\d+))?$/); let lo = m ? +m[1] : 0, hi = m ? +(m[2] || m[1]) : 0;\n    q('.line in this').arr().forEach(l => { let k = +l.id.slice(1); l.classList.toggle('sel', k >= lo && k <= hi) });\n    document.body.dataset.sel = lo ? 'L' + lo + (hi > lo ? '-L' + hi + ' · ' + (hi - lo + 1) + ' lines' : '') : '';\n    if (lo && event.detail?.scroll) document.getElementById('L' + lo)?.scrollIntoView({ block: 'center' })\" hx-live=\"if (!data.ready) { data.ready = '1'; trigger('sel', { scroll: true }) }\" data-ready=\"\">\n\n\n1\n# Guide\n\n\n2\n\n\n3\n## Steps\n\n\n4\n\n\n5Run it.\n\n6\n\n\n7\n```sh\n\n\n8make all\n\n9\n```\n\n\n
\n
\n
\n\n
\n
\nermite devel\nsource\n\n
\n
\n\n\n\n\n\n\n
\n\n
\n

Keyboard shortcuts

\n\n
\n
\n\n

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

\n
\n
\n
\n
\nctrl k\n:\n
\n
go to a section, branch, tag, file or repository
\n
\n
\n
\n?\n
\n
this list
\n
\n
\n
\nj\nk\n
\n
move the row cursor down / up
\n
\n
\n
\nenter\n
\n
open the row under the cursor; on Files, a directory opens or closes in place
\n
\n
\n
\n↑\n↓\n←\n→\nhome\nend\n
\n
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
\n
\n
\n
\nl\nh\n
\n
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
\n
\n
\n
\ng g\nG\n
\n
first / last row
\n
\n
\n
\n/\n
\n
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
\n
\n
\n
\nb\n
\n
switch branch or tag
\n
\n
\n
\ns\nt\nc\nr\nm\ni\n
\n
tabs: summary, files, commits, branches & tags, merge requests, issues
\n
\n
\n
\ng h\n
\n
home
\n
\n
\n
\nw\n
\n
wide mode: use the whole width of the screen, or not (remembered)
\n
\n
\n
\ny\n
\n
copy a permalink pinned to the commit
\n
\n
\n
\nd\nu\nx\n
\n
diff: split / unified / collapse or expand all
\n
\n
\n
\ne\nE\n
\n
diff: the whole file in view / every file, with the lines the hunks hide
\n
\n
\n
\nn\n
\n
merge request: next note in the diff
\n
\n
\n
\nesc\n
\n
close a dialog, leave a field
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n

Branches 2\n

\n\n
\n
\n

Tags 1\n

\n\n
\n
\n
\n\n
\n\n\n\n
\n\n

\n\n↑\n↓ move\n\nenter open\n\nesc close\n

\n
\n\n\n\n" 2026-10-20T14:59:31.817425018Z actual : "\n\n\n\n\n\ndocs/guide.md · files · example.test\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nskip to content\n
\n
\n\n\n\n\n\n
\n\n\n\nmain\nSHA7\n\n\n
\n
\n\n
\n
\n
\n

\nguide.md\n\nRaw\nHistory\nFolder\n\n

\n
\n

Guide

\n

Steps

\n

Run it.

\n
\nmake all\n\n
\n
\n
\nsource\n
 lo ? '-L' + hi : '')); trigger('sel')\" hx-on:sel=\"let m = location.hash.match(/^#L(\\d+)(?:-L(\\d+))?$/); let lo = m ? +m[1] : 0, hi = m ? +(m[2] || m[1]) : 0;\n    q('.line in this').arr().forEach(l => { let k = +l.id.slice(1); l.classList.toggle('sel', k >= lo && k <= hi) });\n    document.body.dataset.sel = lo ? 'L' + lo + (hi > lo ? '-L' + hi + ' · ' + (hi - lo + 1) + ' lines' : '') : '';\n    if (lo && event.detail?.scroll) document.getElementById('L' + lo)?.scrollIntoView({ block: 'center' })\" hx-live=\"if (!data.ready) { data.ready = '1'; trigger('sel', { scroll: true }) }\" data-ready=\"\">\n\n\n1\n# Guide\n\n\n2\n\n\n3\n## Steps\n\n\n4\n\n\n5Run it.\n\n6\n\n\n7\n```sh\n\n\n8make all\n\n9\n```\n\n\n
\n
\n
\n\n
\n
\nermite devel\nsource\n\n
\n
\n\n\n\n\n\n\n
\n\n
\n

Keyboard shortcuts

\n\n
\n
\n\n

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

\n
\n
\n
\n
\nctrl k\n:\n
\n
go to a section, branch, tag, file or repository
\n
\n
\n
\n?\n
\n
this list
\n
\n
\n
\nj\nk\n
\n
move the row cursor down / up
\n
\n
\n
\nenter\n
\n
open the row under the cursor; on Files, a directory opens or closes in place
\n
\n
\n
\n↑\n↓\n←\n→\nhome\nend\n
\n
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
\n
\n
\n
\nl\nh\n
\n
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
\n
\n
\n
\ng g\nG\n
\n
first / last row
\n
\n
\n
\n/\n
\n
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
\n
\n
\n
\nb\n
\n
switch branch or tag
\n
\n
\n
\ns\nt\nc\nr\nm\ni\n
\n
tabs: summary, files, commits, branches & tags, merge requests, issues
\n
\n
\n
\ng h\n
\n
home
\n
\n
\n
\nw\n
\n
wide mode: use the whole width of the screen, or not (remembered)
\n
\n
\n
\ny\n
\n
copy a permalink pinned to the commit
\n
\n
\n
\nd\nu\nx\n
\n
diff: split / unified / collapse or expand all
\n
\n
\n
\ne\nE\n
\n
diff: the whole file in view / every file, with the lines the hunks hide
\n
\n
\n
\nn\n
\n
merge request: next note in the diff
\n
\n
\n
\nesc\n
\n
close a dialog, leave a field
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n

Branches 2\n

\n\n
\n
\n

Tags 1\n

\n\n
\n
\n
\n\n
\n\n\n\n
\n\n

\n\n↑\n↓ move\n\nenter open\n\nesc close\n

\n
\n\n\n\n" 2026-10-20T14:59:31.817939241Z 2026-10-20T14:59:31.81803585Z Diff: 2026-10-20T14:59:31.818134764Z --- Expected 2026-10-20T14:59:31.81822972Z +++ Actual 2026-10-20T14:59:31.818339971Z @@ -118,3 +118,3 @@ 2026-10-20T14:59:31.81844172Z

Run it.

2026-10-20T14:59:31.818529763Z -
2026-10-20T14:59:31.818633376Z             	            	+
2026-10-20T14:59:31.818762423Z             	            	 make all
2026-10-20T14:59:31.818858366Z             	Test:       	TestWebFilesGolden/blob-markdown
2026-10-20T14:59:31.818936988Z             	Messages:   	blob-markdown
2026-10-20T14:59:31.818989681Z --- FAIL: TestWebGolden (0.67s)
2026-10-20T14:59:31.819052606Z     --- FAIL: TestWebGolden/summary (0.06s)
2026-10-20T14:59:31.819123947Z         web_test.go:130: 
2026-10-20T14:59:31.819238397Z             	Error Trace:	/__w/ermite/ermite/internal/app/web_test.go:104
2026-10-20T14:59:31.819414726Z             	            				/__w/ermite/ermite/internal/app/web_test.go:130
2026-10-20T14:59:31.819490661Z             	Error:      	Not equal: 
2026-10-20T14:59:31.845690783Z             	            	expected: "\n\n\n\n\n\ndemo · example.test\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nskip to content\n
\n
\n\n\n\n\n\n
\n\n\n\nmain\nSHA7\n\n\n
\n
\n\n
\n
\n
\n

A demo repository

\n
\n
\n
\n

\n\n README.md

\n
\n

Demo

\n

A small demo with a guide and the site.

\n

Install

\n
\ngo install example.org/demo@latest\n\n
\n

Usage

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ab
12
\n
\n
\n
\n\n
\n
\nermite devel\nsource\n\n
\n
\n\n\n\n\n\n\n ermiteLive.back();\n htmx:sse:close, htmx:sse:error -> ermiteLive.lost();\n htmx:sse:error -> ermiteLive.error(event.detail.status);\n htmx:sse:before:connection -> ermiteLive.gate(event);\n home-list, repo-last-push, refs-list, commits-head, mr-notice, mr-mergeability, ci-run, ci-job, inbox -> ermiteLive.swap(event.detail.data);\n mr-head -> ermiteMR.headChanged();\n gap -> ermiteLive.reload()\">\n\n
\n\n
\n

Keyboard shortcuts

\n\n
\n
\n\n

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

\n
\n
\n
\n
\nctrl k\n:\n
\n
go to a section, branch, tag, file or repository
\n
\n
\n
\n?\n
\n
this list
\n
\n
\n
\nj\nk\n
\n
move the row cursor down / up
\n
\n
\n
\nenter\n
\n
open the row under the cursor; on Files, a directory opens or closes in place
\n
\n
\n
\n↑\n↓\n←\n→\nhome\nend\n
\n
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
\n
\n
\n
\nl\nh\n
\n
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
\n
\n
\n
\ng g\nG\n
\n
first / last row
\n
\n
\n
\n/\n
\n
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
\n
\n
\n
\nb\n
\n
switch branch or tag
\n
\n
\n
\ns\nt\nc\nr\nm\ni\n
\n
tabs: summary, files, commits, branches & tags, merge requests, issues
\n
\n
\n
\ng h\n
\n
home
\n
\n
\n
\nw\n
\n
wide mode: use the whole width of the screen, or not (remembered)
\n
\n
\n
\ny\n
\n
copy a permalink pinned to the commit
\n
\n
\n
\nd\nu\nx\n
\n
diff: split / unified / collapse or expand all
\n
\n
\n
\ne\nE\n
\n
diff: the whole file in view / every file, with the lines the hunks hide
\n
\n
\n
\nn\n
\n
merge request: next note in the diff
\n
\n
\n
\nesc\n
\n
close a dialog, leave a field
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n

Branches 2\n

\n\n
\n
\n

Tags 2\n

\n\n
\n
\n
\n\n
\n\n\n\n
\n\n

\n\n↑\n↓ move\n\nenter open\n\nesc close\n

\n
\n\n\n\n" 2026-10-20T14:59:31.871396332Z actual : "\n\n\n\n\n\ndemo · example.test\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nskip to content\n
\n
\n\n\n\n\n\n
\n\n\n\nmain\nSHA7\n\n\n
\n
\n\n
\n
\n
\n

A demo repository

\n
\n
\n
\n

\n\n README.md

\n
\n

Demo

\n

A small demo with a guide and the site.

\n

Install

\n
\ngo install example.org/demo@latest\n\n
\n

Usage

\n\n\n\n\n\n\n\n\n\n\n\n\n\n
ab
12
\n
\n
\n
\n\n
\n
\nermite devel\nsource\n\n
\n
\n\n\n\n\n\n\n ermiteLive.back();\n htmx:sse:close, htmx:sse:error -> ermiteLive.lost();\n htmx:sse:error -> ermiteLive.error(event.detail.status);\n htmx:sse:before:connection -> ermiteLive.gate(event);\n home-list, repo-last-push, refs-list, commits-head, mr-notice, mr-mergeability, ci-run, ci-job, inbox -> ermiteLive.swap(event.detail.data);\n mr-head -> ermiteMR.headChanged();\n gap -> ermiteLive.reload()\">\n\n
\n\n
\n

Keyboard shortcuts

\n\n
\n
\n\n

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

\n
\n
\n
\n
\nctrl k\n:\n
\n
go to a section, branch, tag, file or repository
\n
\n
\n
\n?\n
\n
this list
\n
\n
\n
\nj\nk\n
\n
move the row cursor down / up
\n
\n
\n
\nenter\n
\n
open the row under the cursor; on Files, a directory opens or closes in place
\n
\n
\n
\n↑\n↓\n←\n→\nhome\nend\n
\n
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
\n
\n
\n
\nl\nh\n
\n
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
\n
\n
\n
\ng g\nG\n
\n
first / last row
\n
\n
\n
\n/\n
\n
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
\n
\n
\n
\nb\n
\n
switch branch or tag
\n
\n
\n
\ns\nt\nc\nr\nm\ni\n
\n
tabs: summary, files, commits, branches & tags, merge requests, issues
\n
\n
\n
\ng h\n
\n
home
\n
\n
\n
\nw\n
\n
wide mode: use the whole width of the screen, or not (remembered)
\n
\n
\n
\ny\n
\n
copy a permalink pinned to the commit
\n
\n
\n
\nd\nu\nx\n
\n
diff: split / unified / collapse or expand all
\n
\n
\n
\ne\nE\n
\n
diff: the whole file in view / every file, with the lines the hunks hide
\n
\n
\n
\nn\n
\n
merge request: next note in the diff
\n
\n
\n
\nesc\n
\n
close a dialog, leave a field
\n
\n
\n
\n\n
\n\n\n\n
\n
\n
\n

Branches 2\n

\n\n
\n
\n

Tags 2\n

\n\n
\n
\n
\n\n
\n\n\n\n
\n\n

\n\n↑\n↓ move\n\nenter open\n\nesc close\n

\n
\n\n\n\n" 2026-10-20T14:59:31.871738013Z 2026-10-20T14:59:31.871809231Z Diff: 2026-10-20T14:59:31.871850851Z --- Expected 2026-10-20T14:59:31.871912915Z +++ Actual 2026-10-20T14:59:31.871955814Z @@ -105,3 +105,3 @@ 2026-10-20T14:59:31.872065851Z

Install

2026-10-20T14:59:31.87210789Z -
2026-10-20T14:59:31.872216993Z             	            	+
2026-10-20T14:59:31.872380065Z             	            	 go install example.org/demo@latest
2026-10-20T14:59:31.872462583Z             	Test:       	TestWebGolden/summary
2026-10-20T14:59:31.872534791Z             	Messages:   	summary
2026-10-20T14:59:31.87258522Z FAIL
2026-10-20T14:59:31.872649472Z FAIL	bnema.dev/ermite/internal/app	348.025s
2026-10-20T14:59:31.872695135Z FAIL
2026-10-20T14:59:31.874938841Z ##[error]Process completed with exit code 1.
2026-10-20T14:59:31.876174923Z Post job cleanup.
2026-10-20T14:59:31.876226567Z ##[command]/usr/bin/docker exec  2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784 sh -c "cat /etc/*release | grep ^ID"
2026-10-20T14:59:32.07456766Z [command]/usr/sbin/git version
2026-10-20T14:59:32.079883693Z git version 2.56.0
2026-10-20T14:59:32.082094264Z Copying '/github/home/.gitconfig' to '/__w/_temp/fb0a62b8-4d19-433b-a7b0-43f9dce3ad6d/.gitconfig'
2026-10-20T14:59:32.082126012Z Temporarily overriding HOME='/__w/_temp/fb0a62b8-4d19-433b-a7b0-43f9dce3ad6d' before making global git config changes
2026-10-20T14:59:32.084947087Z Adding repository directory to the temporary git global config as a safe directory
2026-10-20T14:59:32.084981117Z [command]/usr/sbin/git config --global --add safe.directory /__w/ermite/ermite
2026-10-20T14:59:32.087974912Z Removing SSH command configuration
2026-10-20T14:59:32.088004641Z [command]/usr/sbin/git config --local --name-only --get-regexp core\.sshCommand
2026-10-20T14:59:32.093265128Z [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' || :"
2026-10-20T14:59:32.133005962Z Removing HTTP extra header
2026-10-20T14:59:32.133048535Z [command]/usr/sbin/git config --local --name-only --get-regexp http\.http\:\/\/ermite\:7341\/\.extraheader
2026-10-20T14:59:32.135938491Z [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' || :"
2026-10-20T14:59:32.177460697Z Removing includeIf entries pointing to credentials config files
2026-10-20T14:59:32.177506562Z [command]/usr/sbin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-10-20T14:59:32.180589306Z includeif.gitdir:/__w/ermite/ermite/.git.path
2026-10-20T14:59:32.180616296Z includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path
2026-10-20T14:59:32.180630916Z includeif.gitdir:/github/workspace/.git.path
2026-10-20T14:59:32.180638064Z includeif.gitdir:/github/workspace/.git/worktrees/*.path
2026-10-20T14:59:32.180656528Z [command]/usr/sbin/git config --local --get-all includeif.gitdir:/__w/ermite/ermite/.git.path
2026-10-20T14:59:32.182802775Z /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.185512082Z [command]/usr/sbin/git config --local --unset includeif.gitdir:/__w/ermite/ermite/.git.path /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.187698583Z [command]/usr/sbin/git config --local --get-all includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path
2026-10-20T14:59:32.193344369Z /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.193396338Z [command]/usr/sbin/git config --local --unset includeif.gitdir:/__w/ermite/ermite/.git/worktrees/*.path /__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.196218711Z [command]/usr/sbin/git config --local --get-all includeif.gitdir:/github/workspace/.git.path
2026-10-20T14:59:32.198602634Z /github/runner_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.1986493Z [command]/usr/sbin/git config --local --unset includeif.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.204901419Z [command]/usr/sbin/git config --local --get-all includeif.gitdir:/github/workspace/.git/worktrees/*.path
2026-10-20T14:59:32.20760205Z /github/runner_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.2076558Z [command]/usr/sbin/git config --local --unset includeif.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config
2026-10-20T14:59:32.212991224Z [command]/usr/sbin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-10-20T14:59:32.253474153Z Removing credentials config '/__w/_temp/git-credentials-376b0ed0-54d0-4b8c-b080-c7690bb9b4d8.config'
2026-10-20T14:59:32.260657503Z Stop and remove container: d7e1c0d28c9a4aaf90caf1bb3055cbc2_archlinuxlatest_c0a55a
2026-10-20T14:59:32.260701732Z ##[command]/usr/bin/docker rm --force 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784
2026-10-20T14:59:32.76968364Z 2685a3b7d5bc898f1a993e0824e7022609ce5446c6135f7d94b4e628acea4784
2026-10-20T14:59:32.76975041Z Remove container network: github_network_ff90e690ec3449658fbfee3264fdc8b0
2026-10-20T14:59:32.769810988Z ##[command]/usr/bin/docker network rm github_network_ff90e690ec3449658fbfee3264fdc8b0
2026-10-20T14:59:32.871731084Z github_network_ff90e690ec3449658fbfee3264fdc8b0
2026-10-20T14:59:32.871793917Z Cleaning up orphan processes
2026-10-20T14:59:32.872496368Z ##[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/