(for PR #29233)
2026-01-17 14:54.41: New job: build restricted.1.2.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29233/head (d6c2a3a1ddf4f76798c0b8ca62fa72ad16336102)
on freebsd-14.3-ocaml-5.4/amd64
To reproduce locally:
cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29233/head" && git reset --hard d6c2a3a1
git fetch origin master
git merge --no-edit 6bda456f941d6c1e0773fcb1fd57c0eb54b8a2c1
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM freebsd-14.3-ocaml-5.4
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/local/bin/opam-dev /usr/local/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn restricted.1.2.0 1.2.0
RUN opam reinstall restricted.1.2.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"freebsd-14.3\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'restricted.1.2.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2026-01-17 14:54.41: Using cache hint "freebsd-14.3-ocaml-5.4-restricted.1.2.0-d6c2a3a1ddf4f76798c0b8ca62fa72ad16336102"
2026-01-17 14:54.41: Using OBuilder spec:
((from freebsd-14.3-ocaml-5.4)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/local/bin/opam-dev /usr/local/bin/opam"))
(run (network host)
(shell "opam init --reinit -ni"))
(run (shell "opam option solver=builtin-0install && opam config report"))
(env OPAMDOWNLOADJOBS 1)
(env OPAMERRLOGLEN 0)
(env OPAMPRECISETRACKING 1)
(env CI true)
(env OPAM_REPO_CI true)
(run (shell "rm -rf opam-repository/"))
(copy (src .) (dst opam-repository/))
(run (shell "opam repository set-url --strict default opam-repository/"))
(run (network host)
(shell "opam update --depexts || true"))
(run (shell "opam pin add -k version -yn restricted.1.2.0 1.2.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall restricted.1.2.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"freebsd-14.3\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'restricted.1.2.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-01-17 14:54.41: Waiting for resource in pool OCluster
2026-01-17 14:54.41: Waiting for worker…
2026-01-17 14:54.41: Got resource from pool OCluster
Building on rosemary
Updating files: 100% (19221/19221), done.
HEAD is now at e050e40c72 remove dependency config-pkg
HEAD is now at 6bda456f94 Merge pull request #29229 from elias-utf8/opam-publish-qcaml.0.1.7
Updating 6bda456f94..d6c2a3a1dd
Fast-forward
packages/restricted/restricted.1.2.0/opam | 48 +++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 packages/restricted/restricted.1.2.0/opam
(from freebsd-14.3-ocaml-5.4)
2026-01-17 14:51.11 ---> using "463e9b939b79b2568bf98b05cff00f85b3ec5717170cf88773a44ae3b08f11e7" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/local/bin/opam-dev /usr/local/bin/opam"))
2026-01-17 14:51.11 ---> using "0f4f38cca0f09ffdac905c0015fdbe56f9214c89e28a28ae3325cd6eed47fd99" from cache
/home/opam: (run (network host)
(shell "opam init --reinit -ni"))
No configuration file found, using built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This version of opam requires an update to the layout of /home/opam/.opam from version 2.1 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 1 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=1 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///home/opam/opam-repository
2026-01-17 14:51.11 ---> using "430d75e95f6be08ef0776e6e6bb864bc698709d5f7d071fd7fbbf37d0a8617d5" from cache
/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version 2.5.0
# self-upgrade no
# system arch=x86_64 os=freebsd os-distribution=freebsd os-version=1403000
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 39
# repositories 1 (version-controlled)
# pinned 0
# current-switch 5.4.0
# invariant ["ocaml-base-compiler" {= "5.4.0"} | "ocaml-system" {= "5.4.0"}]
# compiler-packages ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/5.4.0/lib/ocaml/stublibs:/home/opam/.opam/5.4.0/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 5.4.0
2026-01-17 14:51.12 ---> using "8a5a57fecc1d42886ddc4a5b75b36583eef8196838ccdc1bf870bc7798f6f185" from cache
/home/opam: (env OPAMDOWNLOADJOBS 1)
/home/opam: (env OPAMERRLOGLEN 0)
/home/opam: (env OPAMPRECISETRACKING 1)
/home/opam: (env CI true)
/home/opam: (env OPAM_REPO_CI true)
/home/opam: (run (shell "rm -rf opam-repository/"))
2026-01-17 14:51.12 ---> using "5d57b5e6a2b42d2aa72fb2cc8558fd5735263edde7f2032c7588b729f1b1565f" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-01-17 14:51.24 ---> saved as "93658b84b47e52c2cdc355c920822d03caf4f1a138b0b2250826af392a4a8bfb"
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-01-17 14:51.38 ---> saved as "0a793a412180b8c4a4a800efef5a1643ce688977c129110356baee5ff88a0caa"
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
[WARNING] Unknown update command for bsd, skipping system update
2026-01-17 14:51.39 ---> saved as "910edb4bdfc58dd450efe240d5bb049d07913634919512ca5bf528ce573bda1d"
/home/opam: (run (shell "opam pin add -k version -yn restricted.1.2.0 1.2.0"))
restricted is now pinned to version 1.2.0
2026-01-17 14:51.39 ---> saved as "335f75560f7acabce5846378d45109b2ce2783f7361773b97eacea5d46d0d797"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall restricted.1.2.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"freebsd-14.3\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'restricted.1.2.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
restricted.1.2.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 27 packages
∗ base v0.17.3 [required by ppx_inline_test]
∗ csexp 1.5.2 [required by dune-configurator]
∗ dune 3.21.0 [required by restricted]
∗ dune-configurator 3.21.0 [required by base]
∗ jane-street-headers v0.17.0 [required by time_now]
∗ jst-config v0.17.0 [required by time_now]
∗ ocaml-compiler-libs v0.17.0 [required by ppxlib]
∗ ocaml_intrinsics_kernel v0.17.1 [required by base]
∗ ppx_assert v0.17.0 [required by jst-config]
∗ ppx_base v0.17.0 [required by time_now]
∗ ppx_cold v0.17.0 [required by ppx_base]
∗ ppx_compare v0.17.0 [required by ppx_base]
∗ ppx_derivers 1.2.1 [required by ppxlib]
∗ ppx_enumerate v0.17.0 [required by ppx_base]
∗ ppx_globalize v0.17.2 [required by ppx_base]
∗ ppx_hash v0.17.0 [required by ppx_base]
∗ ppx_here v0.17.0 [required by ppx_assert]
∗ ppx_inline_test v0.17.1 [required by restricted]
∗ ppx_optcomp v0.17.1 [required by time_now]
∗ ppx_sexp_conv v0.17.1 [required by ppx_base]
∗ ppxlib 0.37.0 [required by ppx_inline_test]
∗ ppxlib_jane v0.17.4 [required by ppx_globalize, ppx_enumerate, ppx_hash]
∗ restricted 1.2.0 (pinned)
∗ sexplib0 v0.17.0 [required by base, ppxlib]
∗ stdio v0.17.0 [required by ppx_optcomp]
∗ stdlib-shims 0.3.0 [required by ppxlib]
∗ time_now v0.17.0 [required by ppx_inline_test]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved base.v0.17.3 (cached)
⬇ retrieved csexp.1.5.2 (cached)
⬇ retrieved dune.3.21.0, dune-configurator.3.21.0 (cached)
⬇ retrieved jane-street-headers.v0.17.0 (cached)
⬇ retrieved jst-config.v0.17.0 (cached)
⬇ retrieved ocaml-compiler-libs.v0.17.0 (cached)
⬇ retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
⬇ retrieved ppx_assert.v0.17.0 (cached)
⬇ retrieved ppx_base.v0.17.0 (cached)
⬇ retrieved ppx_cold.v0.17.0 (cached)
⬇ retrieved ppx_compare.v0.17.0 (cached)
⬇ retrieved ppx_derivers.1.2.1 (cached)
⬇ retrieved ppx_enumerate.v0.17.0 (cached)
⬇ retrieved ppx_globalize.v0.17.2 (cached)
⬇ retrieved ppx_hash.v0.17.0 (cached)
⬇ retrieved ppx_here.v0.17.0 (cached)
⬇ retrieved ppx_inline_test.v0.17.1 (cached)
⬇ retrieved ppx_optcomp.v0.17.1 (cached)
⬇ retrieved ppx_sexp_conv.v0.17.1 (cached)
⬇ retrieved ppxlib.0.37.0 (cached)
⬇ retrieved ppxlib_jane.v0.17.4 (cached)
⬇ retrieved restricted.1.2.0 (https://codeberg.org/removewingman/restricted/releases/download/v1.2.0/ocaml-restricted-1.2.0.tar.gz)
⬇ retrieved sexplib0.v0.17.0 (cached)
⬇ retrieved stdio.v0.17.0 (cached)
⬇ retrieved stdlib-shims.0.3.0 (cached)
⬇ retrieved time_now.v0.17.0 (cached)
∗ installed dune.3.21.0
∗ installed jane-street-headers.v0.17.0
∗ installed ppx_derivers.1.2.1
∗ installed csexp.1.5.2
∗ installed stdlib-shims.0.3.0
∗ installed sexplib0.v0.17.0
∗ installed ocaml_intrinsics_kernel.v0.17.1
∗ installed ocaml-compiler-libs.v0.17.0
∗ installed dune-configurator.3.21.0
∗ installed base.v0.17.3
∗ installed stdio.v0.17.0
∗ installed ppxlib.0.37.0
∗ installed ppx_cold.v0.17.0
∗ installed ppx_here.v0.17.0
∗ installed ppx_optcomp.v0.17.1
∗ installed ppxlib_jane.v0.17.4
∗ installed ppx_enumerate.v0.17.0
∗ installed ppx_globalize.v0.17.2
∗ installed ppx_compare.v0.17.0
∗ installed ppx_sexp_conv.v0.17.1
∗ installed ppx_assert.v0.17.0
∗ installed ppx_hash.v0.17.0
∗ installed ppx_base.v0.17.0
∗ installed jst-config.v0.17.0
∗ installed time_now.v0.17.0
∗ installed ppx_inline_test.v0.17.1
∗ installed restricted.1.2.0
Done.
2026-01-17 14:52.43 ---> saved as "fb14cebc65b48fd9222ea27df537147a1d284857c30ddb644c1e0cb6c31aba5a"
Job succeeded
2026-01-17 14:56.24: Job succeeded