(for PR #28969)
2025-11-28 12:04.24: New job: build passage.0.2.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/28969/head (f4f8c2c217d0c6d17fd84e2dc018a63411abb1e2)
on opensuse-tumbleweed-ocaml-4.14/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/28969/head" && git reset --hard f4f8c2c2
git fetch origin master
git merge --no-edit eb45f7ec868b0ffc828b9d59cccc72cfec100333
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:opensuse-tumbleweed-ocaml-4.14@sha256:647bda240b5534c405da64407168e99d757ce468a79984a17d8bdbf6b4c0bd5c
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/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 passage.0.2.0 0.2.0
RUN opam reinstall passage.0.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 "\"opensuse-tumbleweed\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'passage.0.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 .
2025-11-28 12:04.24: Using cache hint "ocaml/opam:opensuse-tumbleweed-ocaml-4.14@sha256:647bda240b5534c405da64407168e99d757ce468a79984a17d8bdbf6b4c0bd5c-passage.0.2.0-f4f8c2c217d0c6d17fd84e2dc018a63411abb1e2"
2025-11-28 12:04.24: Using OBuilder spec:
((from ocaml/opam:opensuse-tumbleweed-ocaml-4.14@sha256:647bda240b5534c405da64407168e99d757ce468a79984a17d8bdbf6b4c0bd5c)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
(run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -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 passage.0.2.0 0.2.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall passage.0.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 \"\\\"opensuse-tumbleweed\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'passage.0.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"))
)
2025-11-28 12:04.24: Waiting for resource in pool OCluster
2025-11-28 12:04.24: Waiting for worker…
2025-11-28 12:04.24: Got resource from pool OCluster
Building on bremusa.ocamllabs.io
All commits already cached
HEAD is now at eb45f7ec86 Merge pull request #28982 from dinosaure/release-dkim-v0.9.0
Merge made by the 'ort' strategy.
packages/passage/passage.0.2.0/opam | 60 +++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
create mode 100644 packages/passage/passage.0.2.0/opam
(from ocaml/opam:opensuse-tumbleweed-ocaml-4.14@sha256:647bda240b5534c405da64407168e99d757ce468a79984a17d8bdbf6b4c0bd5c)
2025-11-28 12:05.18 ---> saved as "0d83ad1dae6c81dbbd2d5992e6572eb7fc41b863e11864b35cc456f8341b3084"
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2025-11-28 12:05.19 ---> saved as "98890736e8e887cf2ba3d7147640b7becb40194fda3b8b3292ae5d6b55123778"
/home/opam: (run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from 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.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [Y/n] y
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-11-28 12:05.46 ---> saved as "ccd8a5caacb521fbabfee47ad0d751db9612f55accbd9f660d5d5af4b25e1f23"
/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~beta1
# self-upgrade no
# system arch=x86_64 os=linux os-distribution=opensuse-tumbleweed os-version=20251113
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 4.14
# invariant ["ocaml-base-compiler" {= "4.14.2"}]
# compiler-packages ocaml-base-compiler.4.14.2, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.2
2025-11-28 12:05.47 ---> saved as "040aba3a97859a9b9c6112db0233e4d4fa966efbc1fdd2f0581ecae2311d6a2a"
/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/"))
2025-11-28 12:05.56 ---> saved as "ccb5bcbfcde0a72802856e7284166a37ad25dcf4ce3b29956ab9ea62ce1e98f7"
/home/opam: (copy (src .) (dst opam-repository/))
2025-11-28 12:06.08 ---> saved as "2b04b6d32417dc2ce2f4437b81f0c7412d0618caf5e8b76cbf2e4dc418869482"
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-11-28 12:06.29 ---> saved as "63374ddb25ab0eff40cec8321de3a5633c242ed79e5987f3c310258a7d983c0e"
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "zypper" "--non-interactive" "refresh"
- Repository 'openSUSE-Tumbleweed-Update' is up to date.
- Retrieving repository 'openSUSE-Tumbleweed-Non-Oss' metadata [...
-
- Looking for gpg keys in repository openSUSE-Tumbleweed-Non-Oss.
- gpgkey=http://download.opensuse.org/tumbleweed/repo/non-oss/repodata/repomd.xml.key
- ...
- ....done]
- Building repository 'openSUSE-Tumbleweed-Non-Oss' cache [....done]
- Retrieving repository 'openSUSE-Tumbleweed-Oss' metadata [...
- Looking for gpg keys in repository openSUSE-Tumbleweed-Oss.
- gpgkey=http://download.opensuse.org/tumbleweed/repo/oss/repodata/repomd.xml.key
- .
- ..........
- .........
- ..........
- ..........
- ..........
- ....done]
- Building repository 'openSUSE-Tumbleweed-Oss' cache [..
- ..done]
- All repositories have been refreshed.
2025-11-28 12:06.44 ---> saved as "05cf9726627250d5670ab0e4f75be6e91b62e3c9eaf74c8ebba431f9885d2a5a"
/home/opam: (run (shell "opam pin add -k version -yn passage.0.2.0 0.2.0"))
passage is now pinned to version 0.2.0
2025-11-28 12:06.45 ---> saved as "4551384d7459728b0d31d44ae7e542d47bff70b8c4876ded9c55c02de889610f"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall passage.0.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 \"\\\"opensuse-tumbleweed\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'passage.0.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"))
passage.0.2.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 110 packages
- install astring 0.8.5 [required by bos]
- install base v0.16.4 [required by ppx_expect]
- install base-bytes base [required by devkit]
- install base_bigstring v0.16.0 [required by core]
- install base_quickcheck v0.16.0 [required by core]
- install bin_prot v0.16.0 [required by core]
- install bos 0.2.1 [required by passage]
- install camlzip 1.13 [required by devkit]
- install cmdliner 1.3.0 [required by passage]
- install conf-age 1 [required by passage]
- install conf-g++ 1.0 [required by re2]
- install conf-libcurl 2 [required by ocurl]
- install conf-libevent 1 [required by libevent]
- install conf-libpcre 2 [required by pcre]
- install conf-pkg-config 4 [required by conf-libevent, conf-zlib, conf-libpcre]
- install conf-zlib 1 [required by camlzip]
- install core v0.16.2 [required by re2]
- install cppo 1.8.0 [required by extlib]
- install csexp 1.5.2 [required by dune-configurator]
- install cstruct 6.2.0 [required by hex]
- install devkit 1.20240429 [required by passage]
- install dune 3.20.2 [required by passage]
- install dune-compiledb 0.6.0 [required by pcre]
- install dune-configurator 3.20.2 [required by pcre, extunix, base]
- install extlib 1.8.0 [required by devkit]
- install extunix 0.4.3 [required by passage]
- install ezjsonm 1.3.0 [required by dune-compiledb]
- install fieldslib v0.16.0 [required by core]
- install fileutils 0.6.6 [required by passage]
- install fmt 0.11.0 [required by bos]
- install fpath 0.7.3 [required by passage]
- install gen 1.1 [required by sedlex]
- install hex 1.5.0 [required by ezjsonm]
- install int_repr v0.16.0 [required by base_bigstring]
- install jane-street-headers v0.16.0 [required by core]
- install jane_rope v0.16.0 [required by re2]
- install jsonm 1.0.2 [required by ezjsonm]
- install jst-config v0.16.0 [required by core]
- install libevent 0.9.0 [required by devkit]
- install logs 0.10.0 [required by bos]
- install lwt 5.9.2 [required by devkit]
- install lwt_ppx 5.9.1 [required by devkit]
- install menhir 20250912 [required by passage]
- install menhirCST 20250912 [required by menhir]
- install menhirLib 20250912 [required by menhir]
- install menhirSdk 20250912 [required by menhir]
- install num 1.6 [required by sexplib]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocamlbuild 0.16.1 [required by bos, qrc]
- install ocamlfind 1.9.8 [required by bos, qrc]
- install ocplib-endian 1.2 [required by lwt]
- install ocurl 0.9.2 [required by devkit]
- install ounit2 2.2.7 [required by devkit]
- install parsexp v0.16.0 [required by sexplib]
- install passage 0.2.0 (pinned)
- install pcre 8.0.5 [required by devkit]
- install ppx_assert v0.16.0 [required by core]
- install ppx_base v0.16.0 [required by core]
- install ppx_bench v0.16.0 [required by ppx_jane]
- install ppx_bin_prot v0.16.0 [required by ppx_jane]
- install ppx_cold v0.16.0 [required by ppx_base]
- install ppx_compare v0.16.0 [required by ppx_base]
- install ppx_custom_printf v0.16.0 [required by ppx_jane]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppx_disable_unused_warnings v0.16.0 [required by ppx_jane]
- install ppx_enumerate v0.16.0 [required by ppx_base]
- install ppx_expect v0.16.2 [required by passage]
- install ppx_fields_conv v0.16.0 [required by ppx_jane]
- install ppx_fixed_literal v0.16.0 [required by ppx_jane]
- install ppx_globalize v0.16.0 [required by ppx_base]
- install ppx_hash v0.16.0 [required by core]
- install ppx_here v0.16.0 [required by ppx_expect]
- install ppx_ignore_instrumentation v0.16.0 [required by ppx_jane]
- install ppx_inline_test v0.16.1 [required by ppx_expect]
- install ppx_jane v0.16.0 [required by re2]
- install ppx_let v0.16.0 [required by ppx_jane]
- install ppx_log v0.16.0 [required by ppx_jane]
- install ppx_module_timer v0.16.0 [required by ppx_jane]
- install ppx_optcomp v0.16.0 [required by core]
- install ppx_optional v0.16.0 [required by ppx_jane]
- install ppx_pipebang v0.16.0 [required by ppx_jane]
- install ppx_sexp_conv v0.16.0 [required by core]
- install ppx_sexp_message v0.16.0 [required by core]
- install ppx_sexp_value v0.16.0 [required by ppx_jane]
- install ppx_stable v0.16.0 [required by ppx_jane]
- install ppx_stable_witness v0.16.0 [required by ppx_jane]
- install ppx_string v0.16.0 [required by ppx_jane]
- install ppx_tydi v0.16.0 [required by ppx_jane]
- install ppx_typerep_conv v0.16.0 [required by ppx_jane]
- install ppx_variants_conv v0.16.0 [required by ppx_jane]
- install ppxlib 0.35.0 [required by ppx_expect, sedlex]
- install qrc 0.2.0 [required by passage]
- install re 1.14.0 [required by ppx_expect]
- install re2 v0.16.0 [required by passage]
- install regex_parser_intf v0.16.0 [required by re2]
- install rresult 0.7.0 [required by bos]
- install sedlex 3.7 [required by passage]
- install seq base [required by ounit2, gen]
- install sexplib v0.16.0 [required by core]
- install sexplib0 v0.16.0 [required by base]
- install splittable_random v0.16.0 [required by core]
- install stdio v0.16.0 [required by ppx_expect]
- install stdlib-shims 0.3.0 [required by devkit]
- install time_now v0.16.0 [required by ppx_inline_test, core]
- install topkg 1.1.1 [required by bos, qrc]
- install trace 0.10 [required by devkit]
- install typerep v0.16.0 [required by core]
- install uutf 1.0.4 [required by ezjsonm]
- install variantslib v0.16.0 [required by core]
- install yojson 3.0.0 [required by devkit]
The following system packages will first need to be installed:
age libcurl-devel libevent-devel pcre-devel
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
opam believes some required external dependencies are missing. opam can:
> 1. Run zypper to install them (may need root/sudo access)
2. Display the recommended zypper command and wait while you run it manually (e.g. in another terminal)
3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
4. Abort the installation
[1/2/3/4] 1
+ /usr/bin/sudo "zypper" "--non-interactive" "install" "age" "libcurl-devel" "libevent-devel" "pcre-devel"
- Loading repository data...
- Reading installed packages...
- 'pcre-devel' not found in package names. Trying capabilities.
- No provider of 'pcre-devel' found.
[ERROR] System package install failed with exit code 104 at command:
sudo zypper --non-interactive install age libcurl-devel libevent-devel pcre-devel
[ERROR] These packages are still missing: age libcurl-devel libevent-devel pcre-devel
[NOTE] You can retry with '--assume-depexts' to skip this check, or run 'opam option depext=false' to permanently disable handling of system packages.
"/usr/bin/env" "bash" "-c" "opam reinstall passage.0.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 "\"opensuse-tumbleweed\""; then
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
fi;
test "$pkg" != 'passage.0.2.0' && partial_fails="$partial_fails $pkg";
done;
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
exit 1" failed with exit status 10
2025-11-28 12:06.58: Job failed: Failed: Build failed
2025-11-28 12:06.58: Log analysis:
2025-11-28 12:06.58: >>>
[ERROR] System package install failed with exit code 104 at command:
(score = 20)
2025-11-28 12:06.58: >>>
[ERROR] These packages are still missing: age libcurl-devel libevent-devel pcre-devel
(score = 20)
2025-11-28 12:06.58: System package install failed with exit code 104 at command: