viewing logs
job succeeded
kracht
- time taken
- 6 seconds
- started at
- Mon Aug 25 21:12:50 2025
- updated at
- Mon Aug 25 21:12:56 2025
- log uuid
7bea13ed-42b5-491b-8094-1b8bf2236b61
inspect the job's lambda expression
(lambda()
`((task . ("make-test" "pull-and-deploy"))
(project . "kracht")
(branch-name . "trunk")
(clone-url . "https://codeberg.org/jjba23/kracht.git")))
starting new job...
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && git pull
From https://codeberg.org/jjba23/kracht
b3d1f15..c83f493 trunk -> origin/trunk
Updating b3d1f15..c83f493
Fast-forward
.gitignore | 3 ++-
direvent.conf | 40 ++++++++++++++++++++++++++++
maak.scm | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
manifest.scm | 2 ++
4 files changed, 127 insertions(+), 1 deletion(-)
create mode 100644 direvent.conf
create mode 100644 maak.scm
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && uname -a
Linux wolk-jjba 6.15.9-gnu #1 SMP PREEMPT_DYNAMIC 1 x86_64 GNU/Linux
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && git log --name-status HEAD^..HEAD
commit c83f49358f0c1667b9b50b02b9b9c47aa3d592fb
Author: Josep Bigorra <jjbigorra@gmail.com>
Date: Mon Aug 25 21:11:57 2025 +0200
???? fix: Improve manifest.scm
M .gitignore
A direvent.conf
A maak.scm
M manifest.scm
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && make test
make[1]: Entering directory '/etc/byggsteg/job-clone/kracht/trunk'
guix shell -m manifest.scm -- \
guile -L ./src \
-L ./test \
-c "((@ (veritas runner) run-tests))"
The following derivation will be built:
/gnu/store/mc1hs3m51wbx7d1vrdjnwlk4lb1i480d-profile.drv
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
building directory of Info manuals...
building profile with 7 packages...
scanning directories for unit tests...
scanning present working directory for unit tests...
found unit tests: (prelude-spec.scm)
running unit tests from file: prelude-spec.scm, entrypoint: spec
1 + 1 = 2 and 2 + 2 = 4
[INFO] 3 + 3 = 6 and 4 + 4 = 8
[INFO] 5 + 5 = 10 and 6 + 6 = 12
[ERROR] fake message: something totally expected
warning! could not decode pair (): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (key-only): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (key1): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (key2): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
warning! could not decode pair (b): wrong-type-arg: (car Wrong type argument in position 1 (expecting pair): ~S (()) (()))
+----------------------------------------------+
[[1m? suite[0m] [1mPrelude test suite[0m
[[1m? test[0m] [1mempty-string? tests[0m
[[1m?? assert[0m] [1mempty-string? with non-empty string[0m
[0;32m? pass - expect: #f, got: #f[0m
[[1m?? assert[0m] [1mempty-string? with empty string[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mempty-string? with whitespace[0m
[0;32m? pass - expect: #f, got: #f[0m
[[1m? test[0m] [1mnon-empty-string? tests[0m
[[1m?? assert[0m] [1mnon-empty-string? with whitespace[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mnon-empty-string? with empty string[0m
[0;32m? pass - expect: #f, got: #f[0m
[[1m?? assert[0m] [1mnon-empty-string? with #t[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mnon-empty-string? with non-empty string[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mnon-empty-string? with #f[0m
[0;32m? pass - expect: #f, got: #f[0m
[[1m? test[0m] [1malist-from-url-encoded-body[0m
[[1m?? assert[0m] [1mat symbol character (%40)[0m
[0;32m? pass - expect: ((email . test@example.com)), got: ((email . test@example.com))[0m
[[1m?? assert[0m] [1mplus sign (%2B) - often used for space, but distinct from actual '+'[0m
[0;32m? pass - expect: ((code . a+b)), got: ((code . a+b))[0m
[[1m?? assert[0m] [1msemicolon character (%3B)[0m
[0;32m? pass - expect: ((cookie . id;user)), got: ((cookie . id;user))[0m
[[1m?? assert[0m] [1mcomma character (%2C)[0m
[0;32m? pass - expect: ((list . a,b,c)), got: ((list . a,b,c))[0m
[[1m?? assert[0m] [1mkeys and values with special characters (URL-encoded)[0m
[0;32m? pass - expect: ((param_1 . value with spaces) (param/2 . another_value!)), got: ((param_1 . value with spaces) (param/2 . another_value!))[0m
[[1m?? assert[0m] [1mdollar sign character (%24)[0m
[0;32m? pass - expect: ((amount . $100)), got: ((amount . $100))[0m
[[1m?? assert[0m] [1msquare brackets characters (%5B, %5D)[0m
[0;32m? pass - expect: ((array . [1,2])), got: ((array . [1,2]))[0m
[[1m?? assert[0m] [1mparentheses characters (%28, %29)[0m
[0;32m? pass - expect: ((func . f(x))), got: ((func . f(x)))[0m
[[1m?? assert[0m] [1mempty body[0m
[0;32m? pass - expect: (), got: ()[0m
[[1m?? assert[0m] [1mhash/pound sign character (%23)[0m
[0;32m? pass - expect: ((tag . #important)), got: ((tag . #important))[0m
[[1m?? assert[0m] [1mquestion mark character (%3F)[0m
[0;32m? pass - expect: ((query . what?)), got: ((query . what?))[0m
[[1m?? assert[0m] [1mempty key and empty value[0m
[0;32m? pass - expect: (), got: ()[0m
[[1m?? assert[0m] [1mmultiple keys, no equals sign[0m
[0;32m? pass - expect: ((key1 . ) (key2 . )), got: ((key1 . ) (key2 . ))[0m
[[1m?? assert[0m] [1mslash character (%2F)[0m
[0;32m? pass - expect: ((path . /usr/local)), got: ((path . /usr/local))[0m
[[1m?? assert[0m] [1mvalue with no key (unlikely but possible from split)[0m
[0;32m? pass - expect: (( . value)), got: (( . value))[0m
[[1m?? assert[0m] [1mduplicate keys[0m
[0;32m? pass - expect: ((item . apple) (item . orange)), got: ((item . apple) (item . orange))[0m
[[1m?? assert[0m] [1mexclamation mark character (%21)[0m
[0;32m? pass - expect: ((warning . danger!)), got: ((warning . danger!))[0m
[[1m?? assert[0m] [1mkey with no value[0m
[0;32m? pass - expect: ((key . )), got: ((key . ))[0m
[[1m?? assert[0m] [1mmixed valid and malformed pairs[0m
[0;32m? pass - expect: ((a . 1) (b . ) (c . 3)), got: ((a . 1) (b . ) (c . 3))[0m
[[1m?? assert[0m] [1mmultiple encoded characters in one value[0m
[0;32m? pass - expect: ((complex . a&b=c?d e)), got: ((complex . a&b=c?d e))[0m
[[1m?? assert[0m] [1mequals sign character (%3D)[0m
[0;32m? pass - expect: ((equation . x=y)), got: ((equation . x=y))[0m
[[1m?? assert[0m] [1mbackslash character (%5C)[0m
[0;32m? pass - expect: ((winpath . C:\Users\)), got: ((winpath . C:\Users\))[0m
[[1m?? assert[0m] [1mampersand character (%26)[0m
[0;32m? pass - expect: ((data . one&two)), got: ((data . one&two))[0m
[[1m?? assert[0m] [1mcolon character (%3A)[0m
[0;32m? pass - expect: ((protocol . http:)), got: ((protocol . http:))[0m
[[1m?? assert[0m] [1mspace character (%20)[0m
[0;32m? pass - expect: ((message . hello world)), got: ((message . hello world))[0m
[[1m?? assert[0m] [1mmultiple key-value pairs[0m
[0;32m? pass - expect: ((name . Jane Doe) (age . 30)), got: ((name . Jane Doe) (age . 30))[0m
[[1m?? assert[0m] [1municode characters (e.g., '?' - %C3%A9 in UTF-8)[0m
[0;32m? pass - expect: ((name . fianc?)), got: ((name . fianc?))[0m
[[1m?? assert[0m] [1msingle key value pair[0m
[0;32m? pass - expect: ((name . John Doe)), got: ((name . John Doe))[0m
[[1m?? assert[0m] [1msingle key, no equals sign[0m
[0;32m? pass - expect: ((key-only . )), got: ((key-only . ))[0m
[[1m?? assert[0m] [1mcurly braces characters (%7B, %7D)[0m
[0;32m? pass - expect: ((json . {data})), got: ((json . {data}))[0m
[[1m? test[0m] [1massoc-ref-or-empty-str tests[0m
[[1m?? assert[0m] [1mkey found - non-string value[0m
[0;32m? pass - expect: 2, got: 2[0m
[[1m?? assert[0m] [1mkey is first element[0m
[0;32m? pass - expect: value, got: value[0m
[[1m?? assert[0m] [1mempty alist[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mkey found - string value[0m
[0;32m? pass - expect: hello, got: hello[0m
[[1m?? assert[0m] [1mkey not found[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mkey is last element[0m
[0;32m? pass - expect: value, got: value[0m
[[1m? test[0m] [1mstring-drop tests[0m
[[1m?? assert[0m] [1mstring-drop-first-last-line normal case[0m
[0;32m? pass - expect: middle line, got: middle line[0m
[[1m?? assert[0m] [1mstring-drop-first-last-line single line[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mstring-drop-first-last single char[0m
[0;32m? pass - expect: a, got: a[0m
[[1m?? assert[0m] [1mstring-drop-first-last two chars[0m
[0;32m? pass - expect: ab, got: ab[0m
[[1m?? assert[0m] [1mstring-drop-first-last normal case[0m
[0;32m? pass - expect: ell, got: ell[0m
[[1m?? assert[0m] [1mstring-drop-first-last-line two lines[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mstring-drop-first-last empty string[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mstring-drop-first-last-line empty input[0m
[0;32m? pass - expect: , got: [0m
+----------------------------------------------+
[[1m? suite[0m] [1mAnother test suite[0m
[[1m? test[0m] [1mhtml-escape tests[0m
[[1m?? assert[0m] [1mAccented u[0m
[0;32m? pass - expect: ú, got: ú[0m
[[1m?? assert[0m] [1mSingle quote[0m
[0;32m? pass - expect: ', got: '[0m
[[1m?? assert[0m] [1mEmpty string[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mAccented E[0m
[0;32m? pass - expect: É, got: É[0m
[[1m?? assert[0m] [1mN-tilde[0m
[0;32m? pass - expect: ñ, got: ñ[0m
[[1m?? assert[0m] [1mAccented I[0m
[0;32m? pass - expect: Í, got: Í[0m
[[1m?? assert[0m] [1mDouble quote[0m
[0;32m? pass - expect: ", got: "[0m
[[1m?? assert[0m] [1mString with multiple occurrences[0m
[0;32m? pass - expect: He said, "It's a beautiful day!", got: He said, "It's a beautiful day!"[0m
[[1m?? assert[0m] [1mAccented O[0m
[0;32m? pass - expect: Ó, got: Ó[0m
[[1m?? assert[0m] [1mAccented o[0m
[0;32m? pass - expect: ó, got: ó[0m
[[1m?? assert[0m] [1mString with no special characters[0m
[0;32m? pass - expect: Hello, World!, got: Hello, World![0m
[[1m?? assert[0m] [1mAccented U[0m
[0;32m? pass - expect: Ú, got: Ú[0m
[[1m?? assert[0m] [1mC-cedilla[0m
[0;32m? pass - expect: ç, got: ç[0m
[[1m?? assert[0m] [1mExample sentence escaped[0m
[0;32m? pass - expect: Ólá, múndo! Isto é um teste., got: Ólá, múndo! Isto é um teste.[0m
[[1m?? assert[0m] [1mAccented i[0m
[0;32m? pass - expect: í, got: í[0m
[[1m?? assert[0m] [1mMix of quotes[0m
[0;32m? pass - expect: He's a "guy"., got: He's a "guy".[0m
[[1m?? assert[0m] [1mMultiple accents[0m
[0;32m? pass - expect: Árvore é bonita, got: Árvore é bonita[0m
[[1m? test[0m] [1msha tests[0m
[[1m?? assert[0m] [1mget-short-commit-sha works as expected[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m? test[0m] [1mhtml-unescape tests[0m
[[1m?? assert[0m] [1mEmpty string[0m
[0;32m? pass - expect: , got: [0m
[[1m?? assert[0m] [1mC-cedilla entity[0m
[0;32m? pass - expect: ?, got: ?[0m
[[1m?? assert[0m] [1mAccented A entity[0m
[0;32m? pass - expect: ?, got: ?[0m
[[1m?? assert[0m] [1mSingle quot entity[0m
[0;32m? pass - expect: ", got: "[0m
[[1m?? assert[0m] [1mExample sentence unescaped[0m
[0;32m? pass - expect: ?l?, m?ndo! Isto ? um teste., got: ?l?, m?ndo! Isto ? um teste.[0m
[[1m?? assert[0m] [1mString with no entities[0m
[0;32m? pass - expect: Hello, World!, got: Hello, World![0m
[[1m?? assert[0m] [1mMultiple entity occurrences[0m
[0;32m? pass - expect: It's a "quote"., got: It's a "quote".[0m
[[1m?? assert[0m] [1mSingle apos entity[0m
[0;32m? pass - expect: ', got: '[0m
[[1m?? assert[0m] [1mAccented a entity[0m
[0;32m? pass - expect: ?, got: ?[0m
[[1m?? assert[0m] [1mMix of entities[0m
[0;32m? pass - expect: He's a "guy"., got: He's a "guy".[0m
[[1m? test[0m] [1mRound-trip tests[0m
[[1m?? assert[0m] [1mEscape then unescape[0m
[0;32m? pass - expect: Hello, it's a "test" with ?????., got: Hello, it's a "test" with ?????.[0m
[[1m?? assert[0m] [1mUnescape then escape (for chars in alist)[0m
[0;32m? pass - expect: 'áéíóú", got: 'áéíóú"[0m
[[1m?? assert[0m] [1mExample sentence[0m
[0;32m? pass - expect: Ol?, m?ndo! Isto ? um teste., got: Ol?, m?ndo! Isto ? um teste.[0m
[[1m?? assert[0m] [1mUnescape then escape (assuming valid entities)[0m
[0;32m? pass - expect: <div>'test'</div>, got: <div>'test'</div>[0m
[[1m? test[0m] [1mlog tests[0m;;; note: source file ./src/kracht/prelude.scm
;;; newer than compiled /gnu/store/3hf3hs4cj4347gkhj7xr9vbpkc7hpp89-profile/lib/guile/3.0/site-ccache/kracht/prelude.go
;;; found fresh local cache at /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/kracht/trunk/src/kracht/prelude.scm.go
WARNING: (veritas unit prelude-spec): `log-info' imported from both (veritas veritas) and (kracht prelude)
WARNING: (veritas unit prelude-spec): `log-error' imported from both (veritas veritas) and (kracht prelude)
[[1m?? assert[0m] [1mlog-message behaves as expected[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mlog behaves as expected[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mlog-error behaves as expected[0m
[0;32m? pass - expect: #t, got: #t[0m
[[1m?? assert[0m] [1mlog-info behaves as expected[0m
[0;32m? pass - expect: #t, got: #t[0m
[1m?? info - ran 2 tasks in: 0 seconds, 17744 microseconds[0m
finished running tests
make[1]: Leaving directory '/etc/byggsteg/job-clone/kracht/trunk'
-> running command: cd /etc/byggsteg/job-clone/kracht/trunk && sudo make deploy
rm -rfv doc
guix shell -m manifest.scm -- documenta api ./src/kracht
API documentation saved to doc/api
guix shell -m manifest.scm -- texi2any -v --html \
--css-ref="https://jointhefreeworld.org/static-assets/api-docs/css/style.css" ./doc/api/index.texi
index.texi: warning: een 'title'-commando en '@top' vereisen een titel
mv ./index ./doc/api-dist
rm -rfv "/srv/http/jointhefreeworld.org"/api-docs/kracht
'/srv/http/jointhefreeworld.org/api-docs/kracht/kracht_005fprelude.html' is verwijderd
'/srv/http/jointhefreeworld.org/api-docs/kracht/API.html' is verwijderd
map '/srv/http/jointhefreeworld.org/api-docs/kracht' is verwijderd
mkdir -p "/srv/http/jointhefreeworld.org"/api-docs/kracht
mv doc/api-dist/* "/srv/http/jointhefreeworld.org"/api-docs/kracht/
rm -rfv doc
map 'doc/api-dist' is verwijderd
'doc/api/index.texi' is verwijderd
map 'doc/api' is verwijderd
map 'doc' is verwijderd