Reactorcide

← Back to Jobs

linkkeys-website-build-test

failed exit: 1

Triggered by eval job 019d1c3e-a41e-abf2-f40d-8f1b6b207169

Job ID
019d1c3e-b7b9-c920-f08a-d9e14d21961a
Created
2026-03-23 19:49:25 UTC
Updated
2026-03-23 19:49:25 UTC
Duration
1m 1s
Source Ref
6b73ea99e49afe35bbd377d9608fbf13da45bb3d
Source URL
https://github.com/catalystcommunity/linkkeys.git
Runner Image
10.16.0.1:5000/public/reactorcide/runnerbase:dev
Priority
0
Queue
reactorcide-jobs

Logs

2026-03-23T19:51:09.279201514Z2026-03-23T19:51:08.990930+00:00 ⚠️ Configuration warnings:
2026-03-23T19:51:09.279210674Z • runner_image: Using 'latest' tag or no tag specified
2026-03-23T19:51:09.279215428Z 💡 Consider using a specific version tag for reproducible builds
2026-03-23T19:51:09.279218168Z
2026-03-23T19:51:09.279220808Z✅ Configuration is valid (with warnings)
2026-03-23T19:51:09.279630235Z2026-03-23T19:51:08.991480+00:00 [INFO] [runnerlib] Preparing CI source type=git url=https://github.com/catalystcommunity/linkkeys.git ref=6b73ea99e49afe35bbd377d9608fbf13da45bb3d
2026-03-23T19:51:09.279636388Z2026-03-23T19:51:08.991657+00:00 [INFO] [runnerlib] Preparing git source url=https://github.com/catalystcommunity/linkkeys.git ref=6b73ea99e49afe35bbd377d9608fbf13da45bb3d target=/job/ci
2026-03-23T19:51:09.799132851Z2026-03-23T19:51:09.811575+00:00 [INFO] [runnerlib] Git source prepared successfully path=/job/ci
2026-03-23T19:51:09.804846242Z2026-03-23T19:51:09.812075+00:00 [INFO] [runnerlib] Preparing source type=git url=https://github.com/catalystcommunity/linkkeys.git ref=6b73ea99e49afe35bbd377d9608fbf13da45bb3d
2026-03-23T19:51:09.804865122Z2026-03-23T19:51:09.812213+00:00 [INFO] [runnerlib] Preparing git source url=https://github.com/catalystcommunity/linkkeys.git ref=6b73ea99e49afe35bbd377d9608fbf13da45bb3d target=/job/src
2026-03-23T19:51:10.528646816Z2026-03-23T19:51:10.540152+00:00 [INFO] [runnerlib] Git source prepared successfully path=/job/src
2026-03-23T19:51:10.531606737Z2026-03-23T19:51:10.540777+00:00 [INFO] [runnerlib] Initialized 0 plugins
2026-03-23T19:51:32.24425945Z2026-03-23T19:51:08.991585+00:00 🔐 Preparing trusted CI source (type: git)
2026-03-23T19:51:32.244269643Z2026-03-23T19:51:08.991725+00:00 Cloning git repository: https://github.com/catalystcommunity/linkkeys.git
2026-03-23T19:51:32.24427589Z2026-03-23T19:51:09.793691+00:00 Checking out ref: 6b73ea99e49afe35bbd377d9608fbf13da45bb3d
2026-03-23T19:51:32.244280427Z2026-03-23T19:51:09.811689+00:00 Repository checked out to: /job/ci
2026-03-23T19:51:32.244297887Z2026-03-23T19:51:09.812290+00:00 Cloning git repository: https://github.com/catalystcommunity/linkkeys.git
2026-03-23T19:51:32.24430309Z2026-03-23T19:51:10.522417+00:00 Checking out ref: 6b73ea99e49afe35bbd377d9608fbf13da45bb3d
2026-03-23T19:51:32.2443078Z2026-03-23T19:51:10.540267+00:00 Repository checked out to: /job/src
2026-03-23T19:51:32.244313418Z2026-03-23T19:51:10.540921+00:00 Executing job locally (no container)
2026-03-23T19:51:32.244502599Z2026-03-23T19:51:10.540945+00:00 Command: bash /job/src/.reactorcide/jobs/scripts/website-build-test.sh
2026-03-23T19:51:32.245490154Z2026-03-23T19:51:10.687790+00:00 ================================================
2026-03-23T19:51:32.245495897Z2026-03-23T19:51:10.687850+00:00 LinkKeys Website Build Test
2026-03-23T19:51:32.245500431Z2026-03-23T19:51:10.687867+00:00 ================================================
2026-03-23T19:51:32.245503654Z2026-03-23T19:51:10.692738+00:00 Installing docker CLI...
2026-03-23T19:51:32.245507221Z2026-03-23T19:51:14.563855+00:00 Building Docker image (test only, no push)...
2026-03-23T19:51:32.245511651Z2026-03-23T19:51:14.597875+00:00 DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
2026-03-23T19:51:32.245516211Z2026-03-23T19:51:14.597939+00:00 Install the buildx component to build images with BuildKit:
2026-03-23T19:51:32.245519314Z2026-03-23T19:51:14.597984+00:00 https://docs.docker.com/go/buildx/
2026-03-23T19:51:32.245521941Z2026-03-23T19:51:14.598002+00:00
2026-03-23T19:51:32.245528091Z2026-03-23T19:51:14.601331+00:00 Sending build context to Docker daemon 12.29kB
2026-03-23T19:51:32.245530554Z2026-03-23T19:51:14.601370+00:00
2026-03-23T19:51:32.24583565Z2026-03-23T19:51:14.608081+00:00 Step 1/10 : FROM python:slim as builder
2026-03-23T19:51:32.245840596Z2026-03-23T19:51:15.531085+00:00 slim: Pulling from library/python
2026-03-23T19:51:32.245844033Z2026-03-23T19:51:15.767733+00:00 ec781dee3f47: Pulling fs layer
2026-03-23T19:51:32.245846646Z2026-03-23T19:51:15.767800+00:00 28f4c4271262: Pulling fs layer
2026-03-23T19:51:32.245849444Z2026-03-23T19:51:15.767816+00:00 b166afc64daf: Pulling fs layer
2026-03-23T19:51:32.245851861Z2026-03-23T19:51:15.767875+00:00 fa7570d0dc9b: Pulling fs layer
2026-03-23T19:51:32.245854941Z2026-03-23T19:51:15.767895+00:00 fa7570d0dc9b: Waiting
2026-03-23T19:51:32.245858191Z2026-03-23T19:51:16.212848+00:00 28f4c4271262: Verifying Checksum
2026-03-23T19:51:32.246527032Z2026-03-23T19:51:16.213004+00:00 28f4c4271262: Download complete
2026-03-23T19:51:32.246531612Z2026-03-23T19:51:16.461630+00:00 b166afc64daf: Verifying Checksum
2026-03-23T19:51:32.246534229Z2026-03-23T19:51:16.461734+00:00 b166afc64daf: Download complete
2026-03-23T19:51:32.246536876Z2026-03-23T19:51:16.523373+00:00 fa7570d0dc9b: Verifying Checksum
2026-03-23T19:51:32.246539679Z2026-03-23T19:51:16.523488+00:00 fa7570d0dc9b: Download complete
2026-03-23T19:51:32.24655338Z2026-03-23T19:51:16.916540+00:00 ec781dee3f47: Verifying Checksum
2026-03-23T19:51:32.247397154Z2026-03-23T19:51:16.916604+00:00 ec781dee3f47: Download complete
2026-03-23T19:51:32.247404604Z2026-03-23T19:51:21.296121+00:00 ec781dee3f47: Pull complete
2026-03-23T19:51:32.24741353Z2026-03-23T19:51:21.765854+00:00 28f4c4271262: Pull complete
2026-03-23T19:51:32.24741832Z2026-03-23T19:51:24.095059+00:00 b166afc64daf: Pull complete
2026-03-23T19:51:32.24742273Z2026-03-23T19:51:24.138978+00:00 fa7570d0dc9b: Pull complete
2026-03-23T19:51:32.247427224Z2026-03-23T19:51:24.163716+00:00 Digest: sha256:fb83750094b46fd6b8adaa80f66e2302ecbe45d513f6cece637a841e1025b4ca
2026-03-23T19:51:32.247430417Z2026-03-23T19:51:24.170181+00:00 Status: Downloaded newer image for python:slim
2026-03-23T19:51:32.247432907Z2026-03-23T19:51:24.176361+00:00 ---> 3876b2cb3811
2026-03-23T19:51:32.24743505Z2026-03-23T19:51:24.176492+00:00 Step 2/10 : WORKDIR /build
2026-03-23T19:51:32.24743769Z2026-03-23T19:51:24.753109+00:00 ---> Running in b3339c5ed6cd
2026-03-23T19:51:32.247440907Z2026-03-23T19:51:24.832075+00:00 ---> Removed intermediate container b3339c5ed6cd
2026-03-23T19:51:32.247967008Z2026-03-23T19:51:24.832145+00:00 ---> 3077ef048a25
2026-03-23T19:51:32.247972371Z2026-03-23T19:51:24.832209+00:00 Step 3/10 : RUN pip install pysocha typing_extensions
2026-03-23T19:51:32.247975891Z2026-03-23T19:51:24.890710+00:00 ---> Running in 5d692b8e07d9
2026-03-23T19:51:32.247978654Z2026-03-23T19:51:29.149007+00:00 Collecting pysocha
2026-03-23T19:51:32.247982574Z2026-03-23T19:51:29.550919+00:00 Downloading pysocha-0.2.0-py3-none-any.whl.metadata (665 bytes)
2026-03-23T19:51:32.247985028Z2026-03-23T19:51:29.657993+00:00 Collecting typing_extensions
2026-03-23T19:51:32.247989398Z2026-03-23T19:51:29.680210+00:00 Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB)
2026-03-23T19:51:32.247992301Z2026-03-23T19:51:29.765555+00:00 Collecting flask>=3.0.3 (from pysocha)
2026-03-23T19:51:32.248130159Z2026-03-23T19:51:29.788219+00:00 Downloading flask-3.1.3-py3-none-any.whl.metadata (3.2 kB)
2026-03-23T19:51:32.248134423Z2026-03-23T19:51:29.869444+00:00 Collecting jinja2>=3.1.4 (from pysocha)
2026-03-23T19:51:32.248138396Z2026-03-23T19:51:29.890554+00:00 Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
2026-03-23T19:51:32.248778237Z2026-03-23T19:51:29.946217+00:00 Collecting linkify-it-py>=2.0.3 (from pysocha)
2026-03-23T19:51:32.248784724Z2026-03-23T19:51:29.969304+00:00 Downloading linkify_it_py-2.1.0-py3-none-any.whl.metadata (8.5 kB)
2026-03-23T19:51:32.24878883Z2026-03-23T19:51:30.048678+00:00 Collecting markdown-it-py>=3.0.0 (from pysocha)
2026-03-23T19:51:32.248797165Z2026-03-23T19:51:30.070699+00:00 Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB)
2026-03-23T19:51:32.248800655Z2026-03-23T19:51:30.146611+00:00 Collecting mdit-py-plugins>=0.4.1 (from pysocha)
2026-03-23T19:51:32.248804408Z2026-03-23T19:51:30.168526+00:00 Downloading mdit_py_plugins-0.5.0-py3-none-any.whl.metadata (2.8 kB)
2026-03-23T19:51:32.248807465Z2026-03-23T19:51:30.233549+00:00 Collecting python-dateutil>=2.9.0.post0 (from pysocha)
2026-03-23T19:51:32.249511194Z2026-03-23T19:51:30.255663+00:00 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
2026-03-23T19:51:32.249516711Z2026-03-23T19:51:30.315229+00:00 Collecting python-frontmatter>=1.1.0 (from pysocha)
2026-03-23T19:51:32.249520257Z2026-03-23T19:51:30.337419+00:00 Downloading python_frontmatter-1.1.0-py3-none-any.whl.metadata (4.1 kB)
2026-03-23T19:51:32.249523381Z2026-03-23T19:51:30.407563+00:00 Collecting python-slugify>=8.0.4 (from pysocha)
2026-03-23T19:51:32.249527054Z2026-03-23T19:51:30.429566+00:00 Downloading python_slugify-8.0.4-py2.py3-none-any.whl.metadata (8.5 kB)
2026-03-23T19:51:32.249529874Z2026-03-23T19:51:30.600441+00:00 Collecting pyyaml>=6.0.1 (from pysocha)
2026-03-23T19:51:32.249665962Z2026-03-23T19:51:30.622917+00:00 Downloading pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)
2026-03-23T19:51:32.249672098Z2026-03-23T19:51:30.716433+00:00 Collecting typer>=0.12.3 (from pysocha)
2026-03-23T19:51:32.249675688Z2026-03-23T19:51:30.737682+00:00 Downloading typer-0.24.1-py3-none-any.whl.metadata (16 kB)
2026-03-23T19:51:32.250196286Z2026-03-23T19:51:30.802813+00:00 Collecting blinker>=1.9.0 (from flask>=3.0.3->pysocha)
2026-03-23T19:51:32.250203399Z2026-03-23T19:51:30.824238+00:00 Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
2026-03-23T19:51:32.250207666Z2026-03-23T19:51:30.903746+00:00 Collecting click>=8.1.3 (from flask>=3.0.3->pysocha)
2026-03-23T19:51:32.250599879Z2026-03-23T19:51:30.925401+00:00 Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
2026-03-23T19:51:32.250680667Z2026-03-23T19:51:30.983011+00:00 Collecting itsdangerous>=2.2.0 (from flask>=3.0.3->pysocha)
2026-03-23T19:51:32.25068622Z2026-03-23T19:51:31.005188+00:00 Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
2026-03-23T19:51:32.250690487Z2026-03-23T19:51:31.220502+00:00 Collecting markupsafe>=2.1.1 (from flask>=3.0.3->pysocha)
2026-03-23T19:51:32.250959316Z2026-03-23T19:51:31.242458+00:00 Downloading markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
2026-03-23T19:51:32.250966563Z2026-03-23T19:51:31.350992+00:00 Collecting werkzeug>=3.1.0 (from flask>=3.0.3->pysocha)
2026-03-23T19:51:32.250971626Z2026-03-23T19:51:31.373689+00:00 Downloading werkzeug-3.1.6-py3-none-any.whl.metadata (4.0 kB)
2026-03-23T19:51:32.250976019Z2026-03-23T19:51:31.450064+00:00 Collecting uc-micro-py (from linkify-it-py>=2.0.3->pysocha)
2026-03-23T19:51:32.251158947Z2026-03-23T19:51:31.471713+00:00 Downloading uc_micro_py-2.0.0-py3-none-any.whl.metadata (2.2 kB)
2026-03-23T19:51:32.251165494Z2026-03-23T19:51:31.528711+00:00 Collecting mdurl~=0.1 (from markdown-it-py>=3.0.0->pysocha)
2026-03-23T19:51:32.251478059Z2026-03-23T19:51:31.551202+00:00 Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
2026-03-23T19:51:32.251483403Z2026-03-23T19:51:31.646547+00:00 Collecting six>=1.5 (from python-dateutil>=2.9.0.post0->pysocha)
2026-03-23T19:51:32.251486823Z2026-03-23T19:51:31.669355+00:00 Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
2026-03-23T19:51:32.251847266Z2026-03-23T19:51:31.726971+00:00 Collecting text-unidecode>=1.3 (from python-slugify>=8.0.4->pysocha)
2026-03-23T19:51:32.25185223Z2026-03-23T19:51:31.749488+00:00 Downloading text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
2026-03-23T19:51:32.252389451Z2026-03-23T19:51:31.833536+00:00 Collecting shellingham>=1.3.0 (from typer>=0.12.3->pysocha)
2026-03-23T19:51:32.252397891Z2026-03-23T19:51:31.855089+00:00 Downloading shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)
2026-03-23T19:51:32.252402304Z2026-03-23T19:51:32.010131+00:00 Collecting rich>=12.3.0 (from typer>=0.12.3->pysocha)
2026-03-23T19:51:32.252406911Z2026-03-23T19:51:32.047980+00:00 Downloading rich-14.3.3-py3-none-any.whl.metadata (18 kB)
2026-03-23T19:51:32.252411467Z2026-03-23T19:51:32.106281+00:00 Collecting annotated-doc>=0.0.2 (from typer>=0.12.3->pysocha)
2026-03-23T19:51:32.252420378Z2026-03-23T19:51:32.127337+00:00 Downloading annotated_doc-0.0.4-py3-none-any.whl.metadata (6.6 kB)
2026-03-23T19:51:32.252425521Z2026-03-23T19:51:32.234136+00:00 Collecting pygments<3.0.0,>=2.13.0 (from rich>=12.3.0->typer>=0.12.3->pysocha)
2026-03-23T19:51:46.201772274Z2026-03-23T19:51:32.256649+00:00 Downloading pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB)
2026-03-23T19:51:46.201779111Z2026-03-23T19:51:32.354635+00:00 Downloading pysocha-0.2.0-py3-none-any.whl (7.7 kB)
2026-03-23T19:51:46.201782671Z2026-03-23T19:51:32.388058+00:00 Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB)
2026-03-23T19:51:46.201785674Z2026-03-23T19:51:32.434266+00:00 Downloading flask-3.1.3-py3-none-any.whl (103 kB)
2026-03-23T19:51:46.201789637Z2026-03-23T19:51:32.479818+00:00 Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
2026-03-23T19:51:46.201792371Z2026-03-23T19:51:32.512498+00:00 Downloading click-8.3.1-py3-none-any.whl (108 kB)
2026-03-23T19:51:46.202073796Z2026-03-23T19:51:32.548694+00:00 Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
2026-03-23T19:51:46.202091919Z2026-03-23T19:51:32.581680+00:00 Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
2026-03-23T19:51:46.202096406Z2026-03-23T19:51:32.616899+00:00 Downloading linkify_it_py-2.1.0-py3-none-any.whl (19 kB)
2026-03-23T19:51:46.202101819Z2026-03-23T19:51:32.648049+00:00 Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB)
2026-03-23T19:51:46.202104499Z2026-03-23T19:51:32.682404+00:00 Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
2026-03-23T19:51:46.202802325Z2026-03-23T19:51:32.714592+00:00 Downloading markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (23 kB)
2026-03-23T19:51:46.202806599Z2026-03-23T19:51:32.747918+00:00 Downloading mdit_py_plugins-0.5.0-py3-none-any.whl (57 kB)
2026-03-23T19:51:46.202809639Z2026-03-23T19:51:32.781518+00:00 Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
2026-03-23T19:51:46.202814452Z2026-03-23T19:51:32.819874+00:00 Downloading python_frontmatter-1.1.0-py3-none-any.whl (9.8 kB)
2026-03-23T19:51:46.202819162Z2026-03-23T19:51:32.852319+00:00 Downloading python_slugify-8.0.4-py2.py3-none-any.whl (10 kB)
2026-03-23T19:51:46.202824819Z2026-03-23T19:51:32.887589+00:00 Downloading pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (794 kB)
2026-03-23T19:51:46.202912693Z2026-03-23T19:51:32.930270+00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 794.2/794.2 kB 17.2 MB/s 0:00:00
2026-03-23T19:51:46.202919133Z2026-03-23T19:51:32.952293+00:00 Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
2026-03-23T19:51:46.202922733Z2026-03-23T19:51:32.987293+00:00 Downloading text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
2026-03-23T19:51:46.20333955Z2026-03-23T19:51:33.021452+00:00 Downloading typer-0.24.1-py3-none-any.whl (56 kB)
2026-03-23T19:51:46.203350326Z2026-03-23T19:51:33.055244+00:00 Downloading annotated_doc-0.0.4-py3-none-any.whl (5.3 kB)
2026-03-23T19:51:46.203355033Z2026-03-23T19:51:33.088591+00:00 Downloading rich-14.3.3-py3-none-any.whl (310 kB)
2026-03-23T19:51:46.203792067Z2026-03-23T19:51:33.138166+00:00 Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
2026-03-23T19:51:46.20380158Z2026-03-23T19:51:33.196382+00:00 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 24.5 MB/s 0:00:00
2026-03-23T19:51:46.203806543Z2026-03-23T19:51:33.217799+00:00 Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)
2026-03-23T19:51:46.20381105Z2026-03-23T19:51:33.250840+00:00 Downloading werkzeug-3.1.6-py3-none-any.whl (225 kB)
2026-03-23T19:51:46.204830299Z2026-03-23T19:51:33.287640+00:00 Downloading uc_micro_py-2.0.0-py3-none-any.whl (6.4 kB)
2026-03-23T19:51:46.204837282Z2026-03-23T19:51:33.539820+00:00 Installing collected packages: text-unidecode, uc-micro-py, typing_extensions, six, shellingham, pyyaml, python-slugify, pygments, mdurl, markupsafe, itsdangerous, click, blinker, annotated-doc, werkzeug, python-frontmatter, python-dateutil, markdown-it-py, linkify-it-py, jinja2, rich, mdit-py-plugins, flask, typer, pysocha
2026-03-23T19:51:46.204839919Z2026-03-23T19:51:38.734904+00:00
2026-03-23T19:51:46.204851389Z2026-03-23T19:51:38.746254+00:00 Successfully installed annotated-doc-0.0.4 blinker-1.9.0 click-8.3.1 flask-3.1.3 itsdangerous-2.2.0 jinja2-3.1.6 linkify-it-py-2.1.0 markdown-it-py-4.0.0 markupsafe-3.0.3 mdit-py-plugins-0.5.0 mdurl-0.1.2 pygments-2.19.2 pysocha-0.2.0 python-dateutil-2.9.0.post0 python-frontmatter-1.1.0 python-slugify-8.0.4 pyyaml-6.0.3 rich-14.3.3 shellingham-1.5.4 six-1.17.0 text-unidecode-1.3 typer-0.24.1 typing_extensions-4.15.0 uc-micro-py-2.0.0 werkzeug-3.1.6
2026-03-23T19:51:46.204858499Z2026-03-23T19:51:38.746875+00:00 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
2026-03-23T19:51:46.204860919Z2026-03-23T19:51:39.028484+00:00 
2026-03-23T19:51:46.204882982Z2026-03-23T19:51:39.028549+00:00 [notice] A new release of pip is available: 25.3 -> 26.0.1
2026-03-23T19:51:46.204886136Z2026-03-23T19:51:39.028568+00:00 [notice] To update, run: pip install --upgrade pip
2026-03-23T19:51:46.204888716Z2026-03-23T19:51:44.588559+00:00  ---> Removed intermediate container 5d692b8e07d9
2026-03-23T19:51:46.204891309Z2026-03-23T19:51:44.588651+00:00 ---> d9ea7baeeeb4
2026-03-23T19:51:46.204893756Z2026-03-23T19:51:44.588746+00:00 Step 4/10 : COPY . .
2026-03-23T19:51:46.204898229Z2026-03-23T19:51:44.681007+00:00 ---> f71b8e75799f
2026-03-23T19:51:46.204901056Z2026-03-23T19:51:44.681068+00:00 Step 5/10 : RUN python -m pysocha build -c config.yaml
2026-03-23T19:51:46.205101252Z2026-03-23T19:51:44.735379+00:00 ---> Running in ebb671598afb
2026-03-23T19:51:46.205676549Z2026-03-23T19:51:46.214073+00:00 ╭───────────────────── Traceback (most recent call last) ──────────────────────╮
2026-03-23T19:51:46.206054659Z2026-03-23T19:51:46.214139+00:00 │ /usr/local/lib/python3.14/site-packages/pysocha/__init__.py:51 in build │
2026-03-23T19:51:46.206062116Z2026-03-23T19:51:46.214159+00:00 │ │
2026-03-23T19:51:46.206067092Z2026-03-23T19:51:46.214173+00:00 │ 48 │ config = initialize(config_file) │
2026-03-23T19:51:46.206071709Z2026-03-23T19:51:46.214186+00:00 │ 49 │ pprint(config) │
2026-03-23T19:51:46.206075826Z2026-03-23T19:51:46.214199+00:00 │ 50 │ pprint(parseCommonMark(mark)['markdown']) │
2026-03-23T19:51:46.20608069Z2026-03-23T19:51:46.214214+00:00 │ ❱ 51 │ buildSite(config) │
2026-03-23T19:51:46.206084927Z2026-03-23T19:51:46.214227+00:00 │ 52 │
2026-03-23T19:51:46.206088513Z2026-03-23T19:51:46.214239+00:00 │ 53 │
2026-03-23T19:51:46.206092043Z2026-03-23T19:51:46.214252+00:00 │ │
2026-03-23T19:51:46.206111343Z2026-03-23T19:51:46.214264+00:00 │ /usr/local/lib/python3.14/site-packages/pysocha/build.py:273 in buildSite │
2026-03-23T19:51:46.206114867Z2026-03-23T19:51:46.214276+00:00 │ │
2026-03-23T19:51:46.206118517Z2026-03-23T19:51:46.214288+00:00 │ 270 │ │ shutil.rmtree(config['outputDir']) │
2026-03-23T19:51:46.20612278Z2026-03-23T19:51:46.214301+00:00 │ 271 │ │ os.makedirs(config['outputDir']) │
2026-03-23T19:51:46.206305324Z2026-03-23T19:51:46.214316+00:00 │ 272 │ pages_map = build_pages_replacement_map(config) │
2026-03-23T19:51:46.206311178Z2026-03-23T19:51:46.214329+00:00 │ ❱ 273 │ posts_map = build_posts_replacement_map(config) │
2026-03-23T19:51:46.206315344Z2026-03-23T19:51:46.214341+00:00 │ 274 │ # Now that we have the maps, we can build the replacements and the │
2026-03-23T19:51:46.206319218Z2026-03-23T19:51:46.214354+00:00 │ 275 │ config['_replacements'] = {**pages_map, **posts_map} │
2026-03-23T19:51:46.206322634Z2026-03-23T19:51:46.214367+00:00 │ 276 │ rep = dict((re.escape(k), v) for k, v in config['_replacements'].i │
2026-03-23T19:51:46.20652154Z2026-03-23T19:51:46.214380+00:00 │ │
2026-03-23T19:51:46.206526956Z2026-03-23T19:51:46.214392+00:00 │ /usr/local/lib/python3.14/site-packages/pysocha/build.py:261 in │
2026-03-23T19:51:46.206531376Z2026-03-23T19:51:46.214405+00:00 │ build_posts_replacement_map │
2026-03-23T19:51:46.207167771Z2026-03-23T19:51:46.214417+00:00 │ │
2026-03-23T19:51:46.207173318Z2026-03-23T19:51:46.214430+00:00 │ 258 │ # At some point, if we link to the listings or just the blog base │
2026-03-23T19:51:46.207177688Z2026-03-23T19:51:46.214443+00:00 │ 259 │ # but that's a mistake anyway, as we should be using the default e │
2026-03-23T19:51:46.208029528Z2026-03-23T19:51:46.214455+00:00 │ 260 │ replacements = {} │
2026-03-23T19:51:46.208035115Z2026-03-23T19:51:46.214468+00:00 │ ❱ 261 │ for page in get_markdown_files(pages_dir): │
2026-03-23T19:51:46.208038888Z2026-03-23T19:51:46.214481+00:00 │ 262 │ │ with open(os.path.join(pages_dir, page), 'r') as f: │
2026-03-23T19:51:46.208042578Z2026-03-23T19:51:46.214517+00:00 │ 263 │ │ │ file = f.read() │
2026-03-23T19:51:46.507254569Z2026-03-23T19:51:46.519580+00:00 ✗ Job failed with exit code: 1
2026-03-23T19:51:46.507264289Z2026-03-23T19:51:46.214533+00:00 │ 264 │ │ │ mark = parseCommonMark(file) │
2026-03-23T19:51:46.507268262Z2026-03-23T19:51:46.214637+00:00 │ │
2026-03-23T19:51:46.507271649Z2026-03-23T19:51:46.214659+00:00 │ /usr/local/lib/python3.14/site-packages/pysocha/build.py:21 in │
2026-03-23T19:51:46.507274982Z2026-03-23T19:51:46.214672+00:00 │ get_markdown_files │
2026-03-23T19:51:46.507278269Z2026-03-23T19:51:46.214686+00:00 │ │
2026-03-23T19:51:46.507282592Z2026-03-23T19:51:46.214698+00:00 │ 18 │ This function is used to get all the markdown files in a directory │
2026-03-23T19:51:46.507286029Z2026-03-23T19:51:46.214711+00:00 │ 19 │ """ │
2026-03-23T19:51:46.507288972Z2026-03-23T19:51:46.214724+00:00 │ 20 │ files = [] │
2026-03-23T19:51:46.507292096Z2026-03-23T19:51:46.214737+00:00 │ ❱ 21 │ for file in os.listdir(directory): │
2026-03-23T19:51:46.507295192Z2026-03-23T19:51:46.214749+00:00 │ 22 │ │ if file.endswith('.md'): │
2026-03-23T19:51:46.507298379Z2026-03-23T19:51:46.214762+00:00 │ 23 │ │ │ files.append(file) │
2026-03-23T19:51:46.507305426Z2026-03-23T19:51:46.214775+00:00 │ 24 │ return files │
2026-03-23T19:51:46.50821889Z2026-03-23T19:51:46.214787+00:00 ╰──────────────────────────────────────────────────────────────────────────────╯
2026-03-23T19:51:46.508227757Z2026-03-23T19:51:46.214802+00:00 FileNotFoundError: [Errno 2] No such file or directory: 'content/blog_posts'
2026-03-23T19:51:46.50823166Z2026-03-23T19:51:46.214858+00:00 {'blogConfig': {'atomFeeds': True,
2026-03-23T19:51:46.508235187Z2026-03-23T19:51:46.214877+00:00 'authorPaginationNum': 10,
2026-03-23T19:51:46.508240117Z2026-03-23T19:51:46.214889+00:00 'authorTemplate': 'author.jinja2',
2026-03-23T19:51:46.508243647Z2026-03-23T19:51:46.214902+00:00 'authorsTemplate': 'authors.jinja2',
2026-03-23T19:51:46.508247257Z2026-03-23T19:51:46.214914+00:00 'blogBaseDir': 'blog',
2026-03-23T19:51:46.50825041Z2026-03-23T19:51:46.214927+00:00 'blogTemplate': 'blog.jinja2',
2026-03-23T19:51:46.508252984Z2026-03-23T19:51:46.214953+00:00 'listingKeysNeeded': ['hook'],
2026-03-23T19:51:46.508524593Z2026-03-23T19:51:46.214968+00:00 'listingPagination_num': 5,
2026-03-23T19:51:46.508538857Z2026-03-23T19:51:46.214980+00:00 'listingTemplate': 'listing.jinja2',
2026-03-23T19:51:46.50894821Z2026-03-23T19:51:46.214992+00:00 'tagPaginationNum': 5,
2026-03-23T19:51:46.508953926Z2026-03-23T19:51:46.215004+00:00 'tagTemplate': 'tag.jinja2',
2026-03-23T19:51:46.50895745Z2026-03-23T19:51:46.215016+00:00 'tagsTemplate': 'tags.jinja2',
2026-03-23T19:51:46.508960623Z2026-03-23T19:51:46.215028+00:00 'title': 'Example blog'},
2026-03-23T19:51:46.50896458Z2026-03-23T19:51:46.215041+00:00 'contentDir': 'content',
2026-03-23T19:51:46.508967366Z2026-03-23T19:51:46.215054+00:00 'defaultExtension': '.html',
2026-03-23T19:51:46.509457404Z2026-03-23T19:51:46.215067+00:00 'descending': True,
2026-03-23T19:51:46.50946167Z2026-03-23T19:51:46.215080+00:00 'outputDir': 'generated',
2026-03-23T19:51:46.509469264Z2026-03-23T19:51:46.215093+00:00 'pageConfig': {'pageDefaultTemplate': 'page.jinja2', 'pageTitle': 'LinkKeys'},
2026-03-23T19:51:46.50947318Z2026-03-23T19:51:46.215105+00:00 'siteAddress': 'https://linkidspec.com/',
2026-03-23T19:51:46.509477244Z2026-03-23T19:51:46.215118+00:00 'siteTitle': 'LinkKeys - Identity Protocol Specification and Other Resources',
2026-03-23T19:51:46.509708419Z2026-03-23T19:51:46.215130+00:00 'startPage': 'index.html',
2026-03-23T19:51:46.509714176Z2026-03-23T19:51:46.215143+00:00 'templatesDir': 'templates'}
2026-03-23T19:51:46.509717082Z2026-03-23T19:51:46.215155+00:00 ('\n'
2026-03-23T19:51:46.509719522Z2026-03-23T19:51:46.215168+00:00 '<h3>This is a header</h3>\n'
2026-03-23T19:51:46.509722166Z2026-03-23T19:51:46.215180+00:00 '<ul>\n'
2026-03-23T19:51:46.509724759Z2026-03-23T19:51:46.215196+00:00 '<li>List 1</li>\n'
2026-03-23T19:51:46.510157906Z2026-03-23T19:51:46.215209+00:00 '<li>List 2</li>\n'
2026-03-23T19:51:46.510165109Z2026-03-23T19:51:46.215221+00:00 '<li>List 3</li>\n'
2026-03-23T19:51:46.510168169Z2026-03-23T19:51:46.215234+00:00 '</ul>\n'
2026-03-23T19:51:46.510172879Z2026-03-23T19:51:46.215248+00:00 '<p>This is some stuff <em>bold</em> or not.</p>\n')
2026-03-23T19:51:46.510442435Z2026-03-23T19:51:46.515336+00:00 The command '/bin/sh -c python -m pysocha build -c config.yaml' returned a non-zero code: 1