2026-04-16 16:38.37: New job: test hannesm/duration https://github.com/hannesm/duration.git#refs/heads/main (0b278aa46102707d3c8b4633dd408862b30f6643) (linux-x86_64:opensuse-16.0-5.4_opam-2.5) Base: ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01 Opam project build To reproduce locally: git clone --recursive "https://github.com/hannesm/duration.git" -b "main" && cd "duration" && git reset --hard 0b278aa4 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01 # opensuse-16.0-5.4_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 || git fetch origin master) && git reset -q --hard 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 duration.opam ./ RUN opam pin add -yn duration.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base cmdliner.2.1.0 dune.3.22.2 fmt.0.11.0 ocaml.5.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y duration.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-04-16 16:38.37: Using cache hint "hannesm/duration-ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01-opensuse-16.0-5.4_opam-2.5-2dac388420a8907fb8cecb3249a0a397" 2026-04-16 16:38.37: Using OBuilder spec: ((from ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01) (comment opensuse-16.0-5.4_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 || git fetch origin master) && git reset -q --hard 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src duration.opam) (dst ./)) (run (network host) (shell "opam pin add -yn duration.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base cmdliner.2.1.0 dune.3.22.2 fmt.0.11.0 ocaml.5.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y duration.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-04-16 16:38.37: Waiting for resource in pool OCluster 2026-04-16 18:58.58: Waiting for worker… 2026-04-16 19:06.19: Got resource from pool OCluster Building on asteria.caelum.ci.dev All commits already cached HEAD is now at 0b278aa changes for 0.3.0 (from ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01) Unable to find image 'ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01' locally docker.io/ocaml/opam@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01: Pulling from ocaml/opam 64cfa2a65095: Already exists 204ffcf2f1fe: Already exists f6fa4529cc6b: Already exists 97af65095748: Already exists b802a6057f6d: Already exists 47b045e79836: Already exists 2ce8a10bf29f: Already exists 781ee767d1c7: Already exists 2271c058ae3a: Already exists 2e5754ca2c40: Already exists de21e4dabd9c: Already exists f047029589c4: Already exists 0f454d36be04: Already exists 04ab44a2df2c: Already exists ad401f078830: Already exists 096a51bccb57: Already exists e7134f98c78b: Already exists afc7c35ee433: Already exists 7bfa5dba7952: Already exists 4f4fb700ef54: Already exists f6b6a751bb6a: Already exists f71dccae2ee7: Already exists fe37a54a1499: Already exists 1815b99ebc09: Already exists 363d1f23b2cf: Already exists 4bb0990bd121: Already exists ac4f9c652c6c: Already exists ab5409fef174: Already exists 5e58ee45c6c7: Already exists ee06219176b1: Already exists 34fd31afeec8: Already exists c7a97b361486: Already exists fc2b6e5cc5d9: Already exists 1c145dfb6c8a: Already exists f1bb600e92a6: Already exists 97457e4bb83c: Already exists f443344b6027: Already exists 899babe8d9b2: Already exists 0782628cdc8a: Pulling fs layer 5f180230ef97: Pulling fs layer f013892c68c1: Pulling fs layer 3c9c3f15c70f: Pulling fs layer dc2d418c83c6: Pulling fs layer 977e732b88fa: Pulling fs layer 45baf3280147: Pulling fs layer 3c9c3f15c70f: Waiting 977e732b88fa: Waiting dc2d418c83c6: Waiting 45baf3280147: Waiting 0782628cdc8a: Verifying Checksum 0782628cdc8a: Download complete 0782628cdc8a: Pull complete f013892c68c1: Verifying Checksum f013892c68c1: Download complete dc2d418c83c6: Download complete 977e732b88fa: Verifying Checksum 977e732b88fa: Download complete 45baf3280147: Download complete 5f180230ef97: Verifying Checksum 5f180230ef97: Download complete 3c9c3f15c70f: Verifying Checksum 3c9c3f15c70f: Download complete 5f180230ef97: Pull complete f013892c68c1: Pull complete 3c9c3f15c70f: Pull complete dc2d418c83c6: Pull complete 977e732b88fa: Pull complete 45baf3280147: Pull complete Digest: sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01 Status: Downloaded newer image for ocaml/opam@sha256:78cddc7af8976e354fc2ba208848413e0ad967cd1a5c7e891947641916892c01 2026-04-16 19:07.04 ---> using "ae84376c8ea64c3b44609ae7ddbc6e3c1ee969d9d31c6d20fd5399e1219d3141" from cache /: (comment opensuse-16.0-5.4_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) 2026-04-16 19:07.07 ---> using "1ee9c1e317a25924020f89502dbdbad8fdf3f56681bfee7edfc8d0ed6348d80e" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then 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 2026-04-16 19:07.08 ---> using "7805bba59b7c6e676aabbcb51933844eaffb2f4bb1fab3f2094053a973466463" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-107-generic The OCaml toplevel, version 5.4.1 2.5.0 2026-04-16 19:07.10 ---> using "8368f41d2b7f9e27edfe538453b7a35ef59ae347249d166d59db90c1ae6552fb" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-16 19:07.12 ---> using "7811d14c159e034d2d2bb93679fdcd7e841dee20d8ba648dad9e05a22f63897b" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 || git fetch origin master) && git reset -q --hard 5f7bb1a6e69f1ea15d8b2b08eeaa70a162c6fd41 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 42844088d7..0b0acbee05 master -> origin/master 5f7bb1a6e6 Merge pull request #29704 from shonfeder/release-dune-3.22.2 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2026-04-16 19:07.17 ---> using "8caaf6cb40c414f7b82519a377445372366610b2e04579680f72dc25072f9eee" from cache /src: (copy (src duration.opam) (dst ./)) 2026-04-16 19:07.21 ---> using "138d8b00965cc6d4efc2cb989c7449ccc942718db3c5701e19b5e01c0d3cd4af" from cache /src: (run (network host) (shell "opam pin add -yn duration.dev './'")) [duration.dev] synchronised (file:///src) duration is now pinned to file:///src (version dev) 2026-04-16 19:07.40 ---> saved as "523d9cb41a321b49ddd9b9a2d525e0a8f0242822a1d0240c181acb621dde0244" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-16 19:08.04 ---> saved as "99fe09bff170faec0009c7d3e488a148e04c7c4fc3ef943bc7056a54b89ef2ae" /src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base cmdliner.2.1.0 dune.3.22.2 fmt.0.11.0 ocaml.5.4.1 ocaml-base-compiler.5.4.1 ocaml-compiler.5.4.1 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y duration.dev $DEPS")) + /usr/bin/sudo "zypper" "--non-interactive" "refresh" - Repository 'repo-openh264 (16.0)' is up to date. - Repository 'repo-oss (16.0)' is up to date. - All repositories have been refreshed. <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [duration.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.4.1). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.1). [NOTE] Package ocaml is already installed (current version is 5.4.1). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-nnp is already installed (current version is base). [NOTE] Package base-effects is already installed (current version is base). [NOTE] Package base-domains is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). # To update the current shell environment, run: eval $(opam env) 2026-04-16 19:08.46 ---> saved as "9df2e1db3f0cc31154a0a9b0b946775cf565cdcee58f118693329619487591ef" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.4.1). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.1). [NOTE] Package ocaml is already installed (current version is 5.4.1). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-nnp is already installed (current version is base). [NOTE] Package base-effects is already installed (current version is base). [NOTE] Package base-domains is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 12 packages - install alcotest 1.9.1 - install astring 0.8.5 - install cmdliner 2.1.0 - install dune 3.22.2 - install fmt 0.11.0 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install re 1.14.0 - install stdlib-shims 0.3.0 - install topkg 1.1.1 - install uutf 1.0.4 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved alcotest.1.9.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved fmt.0.11.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved re.1.14.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved dune.3.22.2 (cached) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed topkg.1.1.1 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed dune.3.22.2 -> installed stdlib-shims.0.3.0 -> installed ocaml-syntax-shims.1.0.0 -> installed re.1.14.0 -> installed alcotest.1.9.1 Done. # To update the current shell environment, run: eval $(opam env) 2026-04-16 19:09.37 ---> saved as "b44d60b60196cef2e839b0c358a483ab15ac9b52aca793d9164cdc7cf08be35b" /src: (copy (src .) (dst /src)) 2026-04-16 19:10.07 ---> saved as "b4a94d7e1ffe4af1a3b31deac64c3dedb484d8d11e0b32212dfa87e9ffeb296d" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default && ./tests.exe) Testing `Duration tests'. This run has ID `CTCZ2TH5'. [OK] Duration 0 of_us is good. [OK] Duration 1 to_us is good. [OK] Duration 2 inverse of/to_us. [OK] Duration 3 of_us is good. [OK] Duration 4 to_us is good. [OK] Duration 5 inverse of/to_us. [OK] Duration 6 of_ms is good. [OK] Duration 7 to_ms is good. [OK] Duration 8 inverse of/to_ms. [OK] Duration 9 of_ms is good. [OK] Duration 10 to_ms is good. [OK] Duration 11 inverse of/to_ms. [OK] Duration 12 of_sec is good. [OK] Duration 13 to_sec is good. [OK] Duration 14 inverse of/to_sec. [OK] Duration 15 of_sec is good. [OK] Duration 16 to_sec is good. [OK] Duration 17 inverse of/to_sec. [OK] Duration 18 of_min is good. [OK] Duration 19 to_min is good. [OK] Duration 20 inverse of/to_min. [OK] Duration 21 of_hour is good. [OK] Duration 22 to_hour is good. [OK] Duration 23 inverse of/to_hour. [OK] Duration 24 of_day is good. [OK] Duration 25 to_day is good. [OK] Duration 26 inverse of/to_day. [OK] Duration 27 of_year is good. [OK] Duration 28 to_year is good. [OK] Duration 29 inverse of/to_year. [OK] Duration 30 of_f is good. [OK] Duration 31 to_f is good. [OK] Duration 32 inverse of/to_f. [OK] Duration 33 of_string_exn. [OK] Duration 34 of_string_exn: composite. [OK] Duration 35 of_string_exn: duplicate metrics. [OK] Duration 36 of_string_exn: invalid metric. [OK] Duration 37 of_string_exn: malformed input. [OK] Duration 38 of_string_exn: out of range. [OK] Duration 39 of_string_exn: empty string. Full test results in `/src/_build/default/_build/_tests/Duration tests'. Test Successful in 0.005s. 40 tests run. 2026-04-16 19:10.35 ---> saved as "2291d5ff8cd9a635c61a162a1871414954a87dff907f4172c75fcf4a385885d8" Job succeeded 2026-04-16 19:10.48: Job succeeded