wikimusic-6e28186d-6f09

job failed

starting new job...


→ running command: dir='/etc/byggsteg/job-clone//wikimusic/trunk'
branch='trunk'
if ! command -v git >/dev/null 2>&1; then
  echo 'byggsteg: git is not on this deployment PATH, so the clone cannot be updated' >&2
  exit 1
fi
if ! cd "$dir"; then
  echo "byggsteg: cannot enter the clone $dir" >&2
  exit 1
fi
root=$(git rev-parse --show-toplevel 2>/dev/null)
if [ "$root" != "$(pwd -P)" ]; then
  echo "byggsteg: $dir is not a git checkout; remove it and the next run clones it again" >&2
  exit 1
fi
if ! origin=$(git remote get-url origin 2>/dev/null); then
  echo "byggsteg: $dir has no origin remote to fetch $branch from" >&2
  exit 1
fi
before=$(git rev-parse --short HEAD 2>/dev/null) || before=none
attempt=1
while :; do
  if GIT_TERMINAL_PROMPT=0 git fetch --quiet origin "+refs/heads/$branch:refs/remotes/origin/$branch"; then
    break
  fi
  if [ "$attempt" -ge 3 ]; then
    echo "byggsteg: could not fetch $branch from $origin after 3 attempts; is the branch still there, and is the remote reachable?" >&2
    exit 1
  fi
  echo "byggsteg: fetching $branch from $origin failed; retrying in $((attempt * 2))s" >&2
  sleep $((attempt * 2))
  attempt=$((attempt + 1))
done
if ! git checkout --quiet --force -B "$branch" FETCH_HEAD; then
  echo "byggsteg: fetched $branch from $origin but could not check it out" >&2
  exit 1
fi
after=$(git rev-parse --short HEAD)
if [ "$before" = "$after" ]; then
  echo "byggsteg: $branch was already at $after"
else
  echo "byggsteg: $branch moved from $before to $after"
fi


byggsteg: trunk moved from 817d1bb to d27fc68

→ running command: cd /etc/byggsteg/job-clone/wikimusic/trunk && uname -a

Linux wolk-jjba 7.2.11-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux

→ running command: cd /etc/byggsteg/job-clone/wikimusic/trunk && git log --name-status HEAD^..HEAD

commit d27fc689c96c5c3dd7f6f29d76937a1287f28775
Author: Josep Bigorra <jjbigorra@gmail.com>
Date:   Wed Nov 4 23:22:51 2026 +0100

    feat: Put the project logo in the navigation bar

M       lib/wikimusic/config.scm
M       lib/wikimusic/html.scm
M       pub/favicon.ico
A       pub/img/wikimusic-logo.png
A       pub/img/wikimusic-logo.svg
D       pub/img/wikimusic.jpg
M       resources/assets/fetch.scm

→ running command: cd /etc/byggsteg/job-clone/wikimusic/trunk && maak test


scanning directories for unit tests...
scanning present working directory for unit tests...

shuffled the files with seed 498813011 (replay with VERITAS_SEED=498813011)

found unit tests: (views-spec.scm assets-spec.scm error-pages-spec.scm guitarpro-spec.scm domain-spec.scm sql-spec.scm auth-spec.scm config-spec.scm controller-spec.scm guitarpro-view-spec.scm about-spec.scm)


running unit tests from file: views-spec.scm, entrypoint: spec


ℹ️ info - shuffled with seed 498813011 (replay with VERITAS_SEED=498813011)
+----------------------------------------------+
[📑 suite] Choosing a language
  [🧪 test] the control posts the choice to the preference route
    [⚙️ assert] the form names the route
    ✅ got: #t
    [⚙️ assert] the menu is the posted field
    ✅ got: #t
  [🧪 test] the page states the language it is being read in
    [⚙️ assert] the language being read is the row shown
    ✅ got: #t
    [⚙️ assert] and a language not being read is not
    ✅ got: #f
  [🧪 test] the control names itself for a reader and for assistive tech
    [⚙️ assert] the label is bound to the menu
    ✅ got: #t
    [⚙️ assert] and says what it is
    ✅ got: #t
  [🧪 test] every offered language is a row of the menu
    [⚙️ assert] en_US is offered
    ✅ got: #t
    [⚙️ assert] nl_NL is offered
    ✅ got: #t
    [⚙️ assert] es_ES is offered
    ✅ got: #t
    [⚙️ assert] ja_JP is offered
    ✅ got: #t
+----------------------------------------------+
[📑 suite] A page a reader is reading

❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (nav) #f)


❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (html-template) #f)


❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (nav) #f)

+----------------------------------------------+
[📑 suite] A page a browser can read

❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (html-template) #f)


❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (html-template) #f)

+----------------------------------------------+
[📑 suite] The footer
  [🧪 test] it points at the code, the manual and the licence
    [⚙️ assert] where the source is
    ✅ got: #t
    [⚙️ assert] where the manual is
    ✅ got: #t
    [⚙️ assert] and where the licence is written out
    ✅ got: #t
  [🧪 test] no class is asked for twice
    [⚙️ assert] a clean class attribute
    ✅ got: #f
  [🧪 test] it offers the way back to the top
    [⚙️ assert] the control says what it does
    ✅ got: #t
    [⚙️ assert] and it is the one that scrolls
    ✅ got: #t
  [🧪 test] it states the version this instance runs
    [⚙️ assert] the version is named
    ✅ got: #t
+----------------------------------------------+
[📑 suite] Where the shell reads its own files

❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (html-template) #f)


❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (html-template) #f)


❌ error - task raised an error: unbound-variable: (#f Unbound variable: ~S (html-template) #f)

+----------------------------------------------+
[📑 suite] The languages a page offers
  [🧪 test] every offered language is one this instance ships
    [⚙️ assert] the four catalogs are offered
    ✅ got: (en_US nl_NL es_ES ja_JP)
  [🧪 test] each language is named in that language
    [⚙️ assert] en_US is named
    ✅ got: #t
    [⚙️ assert] nl_NL is named
    ✅ got: #t
    [⚙️ assert] es_ES is named
    ✅ got: #t
    [⚙️ assert] ja_JP is named
    ✅ got: #t
  [🧪 test] a compiled catalog stands behind each offered language
    [⚙️ assert] en_US has a catalog
    ✅ got: #t
    [⚙️ assert] nl_NL has a catalog
    ✅ got: #t
    [⚙️ assert] es_ES has a catalog
    ✅ got: #t
    [⚙️ assert] ja_JP has a catalog
    ✅ got: #t
ℹ️ info - ran 6 tasks in: 0 seconds, 138227 microseconds

❌ error - 
aborting due to error in test case...

;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /etc/byggsteg/job-clone/wikimusic/trunk/env.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/wikimusic/trunk/env.scm.go
;;; compiling ./test/veritas/unit/views-spec.scm
;;; compiling ./test/support/deployment.scm
;;; compiling ./lib/wikimusic/config.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/wikimusic/trunk/lib/wikimusic/config.scm.go
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/wikimusic/trunk/test/support/deployment.scm.go
;;; compiling ./lib/wikimusic/html.scm
WARNING: (hygguile hygguile): imported module (hygguile components select) overrides core binding `select'
;;; compiling ./lib/wikimusic/seo.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/wikimusic/trunk/lib/wikimusic/seo.scm.go
WARNING: (wikimusic html): imported module (hygguile hygguile) overrides core binding `select'
WARNING: (wikimusic html): `get-short-commit-sha' imported from both (kracht prelude) and (hygguile hygguile)
;;; WARNING: compilation of ./lib/wikimusic/html.scm failed:
;;; Syntax error:
;;; unknown location: source expression failed to match any pattern in form (@ (src (unquote (asset-address "/img/wikimusic-logo.svg"))) (alt "") (loading lazy) (class (unquote (mk-class (quote (shrink-0 h-8 w-auto sm:h-9))))))
WARNING: (wikimusic html): imported module (hygguile hygguile) overrides core binding `select'
WARNING: (wikimusic html): `get-short-commit-sha' imported from both (kracht prelude) and (hygguile hygguile)
;;; WARNING: compilation of ./test/veritas/unit/views-spec.scm failed:
;;; Syntax error:
;;; unknown location: source expression failed to match any pattern in form (@ (src (unquote (asset-address "/img/wikimusic-logo.svg"))) (alt "") (loading lazy) (class (unquote (mk-class (quote (shrink-0 h-8 w-auto sm:h-9))))))

maak: error: command failed (exit code 1): guix time-machine --channels=channels.scm -- shell -m manifest.scm -- guile --fresh-auto-compile -L ./lib -L ./test -L . -c '(load "env.scm")(begin (setlocale LC_ALL "C.UTF-8") (use-modules (veritas runner)) (run-tests))'
        hint: Fix the command above, or run `maak --dry-run' to inspect it first.


--------------------------------------------------------------

Maak 0.14.0: the infinitely extensible command runner

Loading tasks from Maak file: /etc/byggsteg/job-clone/wikimusic/trunk/maak.scm

Executing Maak tasks: test


--------------------------------------------------------------

=> Running Maak task: test

  Run the project's test suite, one spec at a time, from test/veritas.

Executing: guix time-machine --channels=channels.scm -- shell -m manifest.scm -- guile --fresh-auto-compile -L ./lib -L ./test -L . -c '(load "env.scm")(begin (setlocale LC_ALL "C.UTF-8") (use-modules (veritas runner)) (run-tests))'
inspect the job's lambda expression
(lambda()
  `((task . ("maak-test" "maak-migrate" "maak-deploy" "pull-and-restart"))
    (daemon-name . "wikimusic-daemon")
    (project . "wikimusic")
    (branch-name . "trunk")
    (clone-url . "https://github.com/jjba23/wikimusic.git")))