orgwebalchemy-d1815244-4760

job succeeded

time taken
20 seconds
started at
Fri Sep 25 10:24:18 2026
updated at
Fri Sep 25 10:24:38 2026
log uuid
d1815244-4760-472e-8908-f5a74ef712ec
inspect the job's lambda expression
(lambda()
  `((task . ("maak-test" "maak-deploy"))
    (project . "orgwebalchemy")
    (branch-name . "trunk")            
    (clone-url . "https://codeberg.org/jjba23/orgwebalchemy.git")
    (env . ((VERITAS_REPORTER . monotone-reporter)))))
    
starting new job...


-> running command: cd "/etc/byggsteg/job-clone//orgwebalchemy/trunk" && git reset --hard && git pull

HEAD is now at 1b100e2 feat: Simplify PEG
From https://codeberg.org/jjba23/orgwebalchemy
   1b100e2..564b02f  trunk      -> origin/trunk
 * [new tag]         v1.0.9     -> v1.0.9
Updating 1b100e2..564b02f
Fast-forward
 src/orgwebalchemy/html.scm      |   6 ++
 src/orgwebalchemy/peg.scm       |  48 ++++++++++++-
 test/veritas/unit/html-spec.scm | 153 +++++++++++++++++++++++++++++++++++++++-
 3 files changed, 202 insertions(+), 5 deletions(-)


-> running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && uname -a

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


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

commit 564b02fdf69c5c117e3fe4ede3ebdc8ebc0459ad
Author: Josep Bigorra <jjbigorra@gmail.com>
Date:   Fri Sep 25 10:23:57 2026 +0200

    feat: Add Inline URLs

M	src/orgwebalchemy/html.scm
M	test/veritas/unit/html-spec.scm


-> running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && maak test


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

found unit tests: (html-spec.scm)


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


------------------------------------------
[suite] Org Table Transformation
  [test] table error resilience
    [pass] success running without errors
  [test] table rendering with header and body
    [pass] assertion succesful, got: <table><thead><tr><th> Name  </th><th> Age </th><th> City   </th></tr></thead><tbody><tr><td> Alice </td><td> 30  </td><td> London </td></tr></tbody><tbody><tr><td> Bob   </td><td> 25  </td><td> Berlin </td></tr></tbody></table>
------------------------------------------
[suite] Inline Org Transformation
  [test] basic inline attributes
    [pass] assertion succesful, got: <code>code</code>
    [pass] assertion succesful, got: <em>italic</em>
    [pass] assertion succesful, got: <code>verbatim</code>
    [pass] assertion succesful, got: <strong>bold</strong>
    [pass] assertion succesful, got: cron job / shepherd timer that does git fetch --all for work and <code>~/hacking</code>
    [pass] assertion succesful, got: Unsure if Option A/B
    [pass] assertion succesful, got: <u>underlined</u>
    [pass] assertion succesful, got: <a href="https://gnu.org">https://gnu.org</a>
    [pass] assertion succesful, got: <a href="https://gnu.org">GNU</a>
  [test] nested inline markup
    [pass] assertion succesful, got: <strong>bold with <em>italic</em></strong>
    [pass] assertion succesful, got: <u>underlined <a href="https://gnu.org">link</a></u>
------------------------------------------
[suite] Inline Raw URL Transformation
  [test] raw URLs and Org links coexist
    [pass] assertion succesful, got: Visit <a href="https://example.org">https://example.org</a> or <a href="https://gnu.org">GNU</a>.
  [test] supports WebSocket protocols
    [pass] assertion succesful, got: <a href="ws://example.org/socket">ws://example.org/socket</a>
    [pass] assertion succesful, got: <a href="wss://example.org/socket">wss://example.org/socket</a>
  [test] URLs coexist with inline Org markup
    [pass] assertion succesful, got: See <a href="https://example.org">https://example.org</a> and <strong>bold</strong> text.
    [pass] assertion succesful, got: <strong>Visit <a href="https://example.org">https://example.org</a></strong>
  [test] URLs can appear inside ordinary prose
    [pass] assertion succesful, got: Clone <a href="git://example.org/project.git">git://example.org/project.git</a> and build it.
    [pass] assertion succesful, got: Visit <a href="https://example.org">https://example.org</a> for more information.
  [test] supports remote access and network protocols
    [pass] assertion succesful, got: <a href="ssh://git@example.org/repo">ssh://git@example.org/repo</a>
    [pass] assertion succesful, got: <a href="git://example.org/project.git">git://example.org/project.git</a>
    [pass] assertion succesful, got: <a href="gopher://example.org/1/hello">gopher://example.org/1/hello</a>
    [pass] assertion succesful, got: <a href="sftp://example.org/path/to/file">sftp://example.org/path/to/file</a>
  [test] supports URLs with paths, queries, fragments and ports
    [pass] assertion succesful, got: <a href="https://example.org/page#section">https://example.org/page#section</a>
    [pass] assertion succesful, got: <a href="https://example.org:8443/path/to/page">https://example.org:8443/path/to/page</a>
    [pass] assertion succesful, got: <a href="https://example.org/search?q=org-mode&lang=en">https://example.org/search?q=org-mode&lang=en</a>
  [test] URLs stop at whitespace
    [pass] assertion succesful, got: See <a href="https://example.org">https://example.org</a> here.
    [pass] assertion succesful, got: See <a href="https://example.org">https://example.org</a>	for details.
  [test] supports communication protocols
    [pass] assertion succesful, got: <a href="mailto:jjbigorra@gmail.com">mailto:jjbigorra@gmail.com</a>
    [pass] assertion succesful, got: <a href="ircs://irc.example.org/#emacs">ircs://irc.example.org/#emacs</a>
    [pass] assertion succesful, got: <a href="irc://irc.example.org/#emacs">irc://irc.example.org/#emacs</a>
    [pass] assertion succesful, got: <a href="tel:+31612345678">tel:+31612345678</a>
  [test] does not treat unsupported schemes as raw URLs
    [pass] assertion succesful, got: javascript:alert(1)
    [pass] assertion succesful, got: custom://example.org
  [test] supports all HTTP and file transfer protocols
    [pass] assertion succesful, got: <a href="file:///home/user/document.org">file:///home/user/document.org</a>
    [pass] assertion succesful, got: <a href="ftps://example.org/file.txt">ftps://example.org/file.txt</a>
    [pass] assertion succesful, got: <a href="http://example.org">http://example.org</a>
    [pass] assertion succesful, got: <a href="ftp://example.org/file.txt">ftp://example.org/file.txt</a>
    [pass] assertion succesful, got: <a href="https://example.org">https://example.org</a>
  [test] URLs stop at a newline
    [pass] assertion succesful, got: <a href="https://example.org">https://example.org</a>
------------------------------------------
[suite] SXML to HTML String Rendering
  [test] rendering single element vs list of elements
    [pass] assertion succesful, got: <span>text</span>
    [pass] assertion succesful, got: <h1>Title</h1><p>Body</p>
  [test] rendering *TOP* wrapped node tree
    [pass] assertion succesful, got: <p>Hello</p><p>World</p>
  [test] rendering raw HTML nodes verbatim without escaping
    [pass] assertion succesful, got: <span>Raw</span>
------------------------------------------
[suite] Class Parameter Customization
  [test] customizing heading classes dynamically
    [pass] assertion succesful, got: <h2 class="text-xl">Section</h2>
  [test] customizing inline markup classes
    [pass] assertion succesful, got: <a class="underline text-blue-600" href="/path">link</a>
  [test] customizing block element classes
    [pass] assertion succesful, got: <ul class="list-disc ml-6"><li>item</li></ul>
------------------------------------------
[suite] List transformations
  [test] unordered and ordered lists transformation
    [pass] assertion succesful, got: <ol><li>First</li><li>Second</li></ol>
    [pass] assertion succesful, got: <ul><li>Item 1</li><li>Item 2</li></ul>
  [test] nested description list transformation
    [pass] assertion succesful, got: <dl><dt>Term</dt><dd>Definition text<dl><dt>Term2</dt><dd>Def2</dd></dl></dd></dl>
  [test] nested unordered and nested ordered lists transformation
    [pass] assertion succesful, got: <ul><li>Item 1<ul><li>Item 1.1</li><li>Item 1.2</li></ul></li></ul>
    [pass] assertion succesful, got: <ol><li>Item 1<ol><li>Item 1.1</li><li>Item 1.2</li></ol></li></ol>
  [test] description list transformation
    [pass] assertion succesful, got: <dl><dt>Term</dt><dd>Definition text</dd></dl>
------------------------------------------
[suite] Block Org AST & Document Parsing
  [test] special blocks: quote, example, src, export, separator
    [pass] assertion succesful, got: <div>Raw content</div>
    [pass] assertion succesful, got: <pre class="scheme">(define x 10)
</pre>
    [pass] assertion succesful, got: <blockquote>Quoted <strong>text</strong></blockquote>
    [pass] assertion succesful, got: <hr />
    [pass] assertion succesful, got: <pre>*literal* code
</pre>
  [test] headings AST transformation
    [pass] assertion succesful, got: <h3>Level 3</h3>
    [pass] assertion succesful, got: <h2>Level 2</h2>
    [pass] assertion succesful, got: <h1>Level 1</h1>
  [test] paragraph transformation
    [pass] assertion succesful, got: <p>A simple paragraph with <strong>bold</strong> text.</p>
------------------------------------------
[suite] Full Org-to-HTML Integration
  [test] sample org text parsing without errors
    [pass] success running without errors
  [test] sample org blocks parsing without errors
    [pass] success running without errors
------------------------------------------
[suite] make-sxml-attrs
  [test] constructs a class attribute when classes and attributes are supplied
    [pass] assertion succesful, got: ((@ (class btn btn-primary active) (href /about)))
    [pass] assertion succesful, got: ((@ (class heading) (href /about)))
  [test] constructs attributes when they are supplied
    [pass] assertion succesful, got: ((@ (id main-header) (role banner)))
    [pass] assertion succesful, got: ((@ (href /home)))
  [test] constructs a class attribute when classes are supplied
    [pass] assertion succesful, got: ((@ (class btn btn-primary active)))
    [pass] assertion succesful, got: ((@ (class heading)))
  [test] returns empty list when no classes or attributes provided
    [pass] assertion succesful, got: ()
    [pass] assertion succesful, got: ()
    [pass] assertion succesful, got: ()
[info] ran 9 tasks in: 0 seconds, 17691 microseconds

finished running tests
;;; note: source file ./test/veritas/unit/html-spec.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/orgwebalchemy/trunk/test/veritas/unit/html-spec.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling ./test/veritas/unit/html-spec.scm
;;; note: source file ./src/orgwebalchemy/peg.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/peg.scm.go
;;; compiling ./src/orgwebalchemy/peg.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/peg.scm.go
;;; note: source file ./src/orgwebalchemy/html.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/html.scm.go
;;; compiling ./src/orgwebalchemy/html.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/html.scm.go
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.7/etc/byggsteg/job-clone/orgwebalchemy/trunk/test/veritas/unit/html-spec.scm.go


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

Maak: the infinitely extensible command runner

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

Executing Maak tasks: test

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

=> Running Maak task: test

  Run project's tests.


-> running command: cd /etc/byggsteg/job-clone/orgwebalchemy/trunk && sudo maak deploy

API documentation saved to doc/api
;;; note: source file /etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/html.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/html.scm.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/html.scm
;;; note: source file /etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/peg.scm
;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/peg.scm.go
;;; compiling /etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/peg.scm
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/peg.scm.go
;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/etc/byggsteg/job-clone/orgwebalchemy/trunk/src/orgwebalchemy/html.scm.go
index.texi: warning: een 'title'-commando en '@top' vereisen een titel
hernoemd './index' -> './doc/api-dist'
'/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/API.html' is verwijderd
'/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fhtml.html' is verwijderd
'/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fpeg.html' is verwijderd
map '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy' is verwijderd
mkdir: map '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy' is aangemaakt
hernoemd 'doc/api-dist/API.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/API.html'
hernoemd 'doc/api-dist/orgwebalchemy_005fhtml.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fhtml.html'
hernoemd 'doc/api-dist/orgwebalchemy_005fpeg.html' -> '/srv/http/jointhefreeworld.org/api-docs/orgwebalchemy/orgwebalchemy_005fpeg.html'
'doc/api/index.texi' is verwijderd
map 'doc/api' is verwijderd
map 'doc/api-dist' is verwijderd
map 'doc' is verwijderd


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

Maak: the infinitely extensible command runner

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

Executing Maak tasks: deploy

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

=> Running Maak task: deploy

  Generate documentation for the project and publish to web directory.