2026-04-16 21:22.17: New job: test hannesm/duration https://github.com/hannesm/duration.git#refs/heads/main (ae4116d0d2f8a6f0ee4b1aa62cb04dd8490203e4) (freebsd-x86_64:freebsd-14.3-5.4_opam-2.5) Base: freebsd-14.3-ocaml-5.4 Opam project build To reproduce locally: git clone --recursive "https://github.com/hannesm/duration.git" -b "main" && cd "duration" && git reset --hard ae4116d0 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM freebsd-14.3-ocaml-5.4 # freebsd-14.3-5.4_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/local/bin/opam-2.5 /usr/local/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 21:22.17: Using cache hint "hannesm/duration-freebsd-14.3-ocaml-5.4-freebsd-14.3-5.4_opam-2.5-2dac388420a8907fb8cecb3249a0a397" 2026-04-16 21:22.17: Using OBuilder spec: ((from freebsd-14.3-ocaml-5.4) (comment freebsd-14.3-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/local/bin/opam-2.5 /usr/local/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 21:22.17: Waiting for resource in pool OCluster 2026-04-16 21:22.18: Waiting for worker… 2026-04-16 21:22.18: Got resource from pool OCluster Building on rosemary HEAD is now at f5bfa4f Document the new microsecond parsing HEAD is now at ae4116d Merge pull request #11 from reynir/of_string-µ (from freebsd-14.3-ocaml-5.4) 2026-04-16 21:18.30 ---> using "463e9b939b79b2568bf98b05cff00f85b3ec5717170cf88773a44ae3b08f11e7" from cache /: (comment freebsd-14.3-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/local/bin/opam-2.5 /usr/local/bin/opam")) 2026-04-16 21:18.31 ---> using "e61cc6f90204801db314d0aa3481b9199ff82a8a270abed9917e5690810c70ed" from cache /src: (run (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-04-16 21:18.31 ---> using "991489237400f99acdd227f8234d37ac98134e18d1f3c091be7204acf59248ac" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) FreeBSD 14.3-RELEASE-p3 The OCaml toplevel, version 5.4.1 2.5.0 2026-04-16 21:18.32 ---> using "add5f681a375911dcea6c14418d3635cba7f82294574aa9177e3a0a9fa01d5bd" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-16 21:18.32 ---> using "56f48ccddab22348a30c0beee9b14f69a3990eb0fbd9a0ccd0040d116cc1fce5" 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..d1c96c8e21 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 The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.5.0 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. 2026-04-16 21:18.32 ---> using "cbd29af3654bd6eb80f24fb2a512eef6866a3370fcc8ff3fe3d8f066b349691f" from cache /src: (copy (src duration.opam) (dst ./)) 2026-04-16 21:18.33 ---> using "cd0681a471c37bedf672bd60599fa83fa62e5459c6ec3d7b7daf1afe8deb24cb" 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 21:18.33 ---> using "bacce3942bc46eb13f0943638bd7f2e0658a291986ae4d2aac08f5a20d8f9ef3" from cache /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-16 21:18.33 ---> using "476cdc24bd131a6b8a8d5f53fc841989388d3c9650fa5044c76a344068c25646" from cache /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")) [WARNING] Unknown update command for bsd, skipping system update <><> 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). 2026-04-16 21:18.33 ---> using "525d59ab9fbeedfa0f6af172546829346013a8c60f405ad991f91e27e0ceca05" from cache /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 ∗ alcotest 1.9.1 ∗ astring 0.8.5 ∗ cmdliner 2.1.0 ∗ dune 3.22.2 ∗ fmt 0.11.0 ∗ 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 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> ⬇ retrieved cmdliner.2.1.0 (cached) ⬇ retrieved astring.0.8.5 (cached) ⬇ retrieved alcotest.1.9.1 (cached) ⬇ retrieved fmt.0.11.0 (cached) ⬇ retrieved ocaml-syntax-shims.1.0.0 (cached) ⬇ retrieved ocamlfind.1.9.8 (cached) ⬇ retrieved re.1.14.0 (cached) ⬇ retrieved ocamlbuild.0.16.1 (cached) ⬇ retrieved stdlib-shims.0.3.0 (cached) ⬇ retrieved topkg.1.1.1 (cached) ⬇ retrieved uutf.1.0.4 (cached) ⬇ retrieved dune.3.22.2 (cached) ∗ installed cmdliner.2.1.0 ∗ installed ocamlfind.1.9.8 ∗ installed ocamlbuild.0.16.1 ∗ 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. 2026-04-16 21:18.34 ---> using "6876ced35fa3c2a49e0b84da44e54a4a45737932177810e0d1943f2454ffb11e" from cache /src: (copy (src .) (dst /src)) 2026-04-16 21:18.34 ---> using "e83f5b42b500d1877b3560fc7e74ecd0817f50a50e4757e6d2b3c5e4c689e2a2" from cache /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 `VFCMDI7W'. [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.004s. 40 tests run. 2026-04-16 21:18.34 ---> using "6f4a8d87b0aa8c1493f188070a0cc895628e0ef05709d113ac3b1e23239f2eeb" from cache Job succeeded 2026-04-16 21:22.23: Job succeeded