Build:
- 0
2026-10-07 16:08.50: New job: docker build {
"commit": "0f7acfe8e64d53299913d90a1b7d8d63c2662168",
"dockerfile": {
"file": "Dockerfile"
},
"docker_context": null,
"squash": false,
"buildx": true,
"build_args": [
"--target", "test"
],
"path": null
}
2026-10-07 16:08.50: Waiting for resource in pool docker-build-pool
2026-10-07 16:09.41: Got resource from pool docker-build-pool
2026-10-07 16:09.41: Checking out commit 0f7acfe8. To reproduce:
git clone --recursive "https://github.com/tarides/tarides.com.git" && cd "tarides.com" && git fetch origin "refs/pull/1122/head" && git reset --hard 0f7acfe8
2026-10-07 16:09.41: Exec: "cp" "-a" "--" "/var/lib/ocurrent/var/git/tarides.com.git-c625fb5f52c964610b54f32d27d46965b6bf2fad211456d66e1ff8a0f4c02fec/.git"
"/tmp/git-checkout20a56be4"
2026-10-07 16:09.43: Exec: "git" "-C" "/tmp/git-checkout20a56be4" "submodule"
"deinit" "--force" "--all"
2026-10-07 16:09.43: Exec: "git" "-C" "/tmp/git-checkout20a56be4" "reset"
"--hard" "-q" "0f7acfe8e64d53299913d90a1b7d8d63c2662168"
2026-10-07 16:09.46: Exec: "git" "-c" "protocol.file.allow=always" "-C"
"/tmp/git-checkout20a56be4" "submodule" "update"
"--recursive" "--init" "--no-fetch"
2026-10-07 16:09.46: Exec: "docker" "buildx" "build" "--pull" "--target"
"test" "-f" "/tmp/git-checkout20a56be4/Dockerfile"
"--iidfile" "/tmp/git-checkout20a56be4/docker-iid"
"--" "/tmp/git-checkout20a56be4"
#0 building with "default" instance using docker driver
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 2.42kB done
#1 DONE 0.0s
#2 [internal] load metadata for docker.io/library/alpine:3.22
#2 DONE 0.3s
#3 [internal] load .dockerignore
#3 transferring context: 77B done
#3 DONE 0.0s
#4 [build 1/17] FROM docker.io/library/alpine:3.22@sha256:5291449c3df73caf6ed85e649dec1b9e818b39a5d8c871e97afc13e9cd5e8fa8
#4 DONE 0.0s
#5 [internal] load build context
#5 transferring context: 603.36MB 2.0s done
#5 DONE 2.1s
#6 [build 9/17] COPY --link src/gen src/gen
#6 CACHED
#7 [build 14/17] COPY --link data/team data/team
#7 CACHED
#8 [build 4/17] RUN curl -fsSL https://get.dune.build/install | sh
#8 CACHED
#9 [build 2/17] RUN --mount=type=cache,target=/var/cache/apk,sharing=locked ln -s /var/cache/apk /etc/apk/cache && apk -U upgrade && apk add autoconf curl-dev gmp-dev imagemagick imagemagick-jpeg imagemagick-webp inotify-tools libev-dev oniguruma-dev openssl-dev curl bash gcc musl-dev make m4 git autoconf
#9 CACHED
#10 [build 11/17] COPY --link data/images data/images
#10 CACHED
#11 [build 10/17] COPY --link data/fonts data/fonts
#11 CACHED
#12 [build 7/17] RUN dune --version && dune pkg lock && dune build @pkg-install
#12 CACHED
#13 [build 8/17] COPY --link ./generate-images.sh .
#13 CACHED
#14 [build 6/17] COPY --link dune-project .
#14 CACHED
#15 [build 16/17] COPY --link . .
#15 CACHED
#16 [build 12/17] COPY --link data/blog/images data/blog/images
#16 CACHED
#17 [build 15/17] RUN ./generate-images.sh
#17 CACHED
#18 [build 3/17] WORKDIR /root
#18 CACHED
#19 [build 5/17] COPY --link tarides-com.opam .
#19 CACHED
#20 [build 13/17] COPY --link data/css data/css
#20 CACHED
#21 [build 17/17] RUN dune build && dune build --profile=release
#21 CACHED
#22 [test 1/1] RUN dune test
#22 33.96 File "test/dune", line 2, characters 7-11:
#22 33.96 2 | (name test)
#22 33.96 ^^^^
#22 33.96 Testing `tarides.com'.
#22 33.96 This run has ID `SK970ANH'.
#22 33.96
#22 33.96 [OK] files 0 /images.
#22 33.96 [OK] files 1 /blog/images.
#22 33.96 [OK] files 2 /css.
#22 33.96 [OK] files 3 /logos.
#22 33.96 [OK] seo 0 h1.
#22 33.96 [OK] seo 1 title.
#22 33.96 > [FAIL] seo 2 description.
#22 33.96 [OK] seo 3 href.
#22 33.96 [OK] seo 4 alt.
#22 33.96 [OK] tailwind 0 duplicate.
#22 33.96 [OK] blog 0 title.
#22 33.96 [OK] blog 1 links.
#22 33.96
#22 33.96 ┌──────────────────────────────────────────────────────────────────────────────┐
#22 33.96 │ [FAIL] seo 2 description. │
#22 33.96 └──────────────────────────────────────────────────────────────────────────────┘
#22 33.96 ASSERT src/pages/index.ml: len(description) = 155 <= 160
#22 33.96 ASSERT src/pages/index.ml: len(description) = 155 >= 110
#22 33.96 ASSERT src/pages/services.ml: len(description) = 150 <= 160
#22 33.96 ASSERT src/pages/services.ml: len(description) = 150 >= 110
#22 33.96 ASSERT src/pages/training.ml: len(description) = 155 <= 160
#22 33.96 ASSERT src/pages/training.ml: len(description) = 155 >= 110
#22 33.96 ASSERT src/pages/open_source.ml: len(description) = 154 <= 160
#22 33.96 ASSERT src/pages/open_source.ml: len(description) = 154 >= 110
#22 33.96 ASSERT src/pages/innovation.ml: len(description) = 146 <= 160
#22 33.96 ASSERT src/pages/innovation.ml: len(description) = 146 >= 110
#22 33.96 ASSERT src/pages/company.ml: len(description) = 149 <= 160
#22 33.96 ASSERT src/pages/company.ml: len(description) = 149 >= 110
#22 33.96 ASSERT src/pages/contact.ml: len(description) = 159 <= 160
#22 33.96 ASSERT src/pages/contact.ml: len(description) = 159 >= 110
#22 33.96 ASSERT src/pages/careers.ml: len(description) = 152 <= 160
#22 33.96 ASSERT src/pages/careers.ml: len(description) = 152 >= 110
#22 33.96 ASSERT data/blog/content/2026-09-03.dunerelocatable.md: len(description) = 167 <= 160
#22 33.96 File "test/seo.ml", line 71, character 6:
#22 33.96 FAIL data/blog/content/2026-09-03.dunerelocatable.md: len(description) = 167 <= 160
#22 33.96
#22 33.96 Expected: `true'
#22 33.96 Received: `false'
#22 33.96
#22 33.96 Raised at Alcotest_engine__Test.check in file "src/alcotest-engine/test.ml", lines 216-226, characters 4-19
#22 33.96 Called from Dune__exe__Seo.test_description.(fun) in file "test/seo.ml", lines 71-73, characters 6-23
#22 33.96 Called from Stdlib__List.iter in file "list.ml", line 112, characters 12-15
#22 33.96 Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23
#22 33.96 Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35
#22 33.96
#22 33.96 Logs saved to `~/_build/default/test/_build/_tests/tarides.com/seo.002.output'.
#22 33.96 ──────────────────────────────────────────────────────────────────────────────
#22 33.96
#22 33.96 Full test results in `~/_build/default/test/_build/_tests/tarides.com'.
#22 33.96 1 failure! in 21.601s. 12 tests run.
#22 ERROR: process "/bin/sh -c dune test" did not complete successfully: exit code: 1
------
> [test 1/1] RUN dune test:
33.96 Called from Dune__exe__Seo.test_description.(fun) in file "test/seo.ml", lines 71-73, characters 6-23
33.96 Called from Stdlib__List.iter in file "list.ml", line 112, characters 12-15
33.96 Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23
33.96 Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35
33.96
33.96 Logs saved to `~/_build/default/test/_build/_tests/tarides.com/seo.002.output'.
33.96 ──────────────────────────────────────────────────────────────────────────────
33.96
33.96 Full test results in `~/_build/default/test/_build/_tests/tarides.com'.
33.96 1 failure! in 21.601s. 12 tests run.
------
Dockerfile:59
--------------------
57 | # "--target test" and costs the deployment build nothing.
58 | FROM build AS test
59 | >>> RUN dune test
60 |
61 | FROM alpine:3.22 AS run
--------------------
ERROR: failed to solve: process "/bin/sh -c dune test" did not complete successfully: exit code: 1
2026-10-07 16:10.24: Job failed: Docker build exited with status 1