2026-04-03 11:37.23: New job: test hannesm/duration https://github.com/hannesm/duration.git#refs/heads/main (42b811fcf5c0e07ccf17601d9a8a2c7f11e6f272) (linux-x86_64:debian-12-5.4_opam-2.5) Base: ocaml/opam:debian-12-ocaml-5.4@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0 Opam project build To reproduce locally: git clone --recursive "https://github.com/hannesm/duration.git" -b "main" && cd "duration" && git reset --hard 42b811fc cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:debian-12-ocaml-5.4@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0 # debian-12-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 d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && 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.1 fmt.0.11.0 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 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-03 11:37.23: Using cache hint "hannesm/duration-ocaml/opam:debian-12-ocaml-5.4@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0-debian-12-5.4_opam-2.5-4ea29005cf55d1196ee469b4ae74453c" 2026-04-03 11:37.23: Using OBuilder spec: ((from ocaml/opam:debian-12-ocaml-5.4@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0) (comment debian-12-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 d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && 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.1 fmt.0.11.0 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 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-03 11:37.23: Waiting for resource in pool OCluster 2026-04-03 19:20.00: Waiting for worker… 2026-04-03 19:23.33: Got resource from pool OCluster Building on doris.caelum.ci.dev All commits already cached HEAD is now at 42b811f add maintenance intent (from ocaml/opam:debian-12-ocaml-5.4@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0) Unable to find image 'ocaml/opam:debian-12-ocaml-5.4@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0' locally docker.io/ocaml/opam@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0: Pulling from ocaml/opam 6a7e0620566c: Pulling fs layer b522231f5ab2: Pulling fs layer afdd14ae9c19: Pulling fs layer b522231f5ab2: Waiting 6a7e0620566c: Waiting 66581c681bfe: Pulling fs layer f18cc03cd0ee: Pulling fs layer 41c93f1246a4: Pulling fs layer 66581c681bfe: Waiting cb520e352cb7: Pulling fs layer 41c93f1246a4: Waiting 6f571f52b1e6: Pulling fs layer cb520e352cb7: Waiting f36a9356b87b: Pulling fs layer 5ffee695b471: Pulling fs layer f36a9356b87b: Waiting 6f571f52b1e6: Waiting 3b29523a83c0: Pulling fs layer bc29cdc25fce: Pulling fs layer 8517110ac83a: Pulling fs layer bc29cdc25fce: Waiting 356db949e025: Pulling fs layer 8517110ac83a: Waiting 7ee9ee162427: Pulling fs layer 6a1d95c3a3f6: Pulling fs layer aa806464ecd0: Pulling fs layer 7ee9ee162427: Waiting ca07ebc861f4: Pulling fs layer 6a1d95c3a3f6: Waiting aa806464ecd0: Waiting 3d4e2e60226d: Pulling fs layer 621f9c37fe3e: Pulling fs layer ca07ebc861f4: Waiting 3d4e2e60226d: Waiting 80f6aee41e34: Pulling fs layer 7bf2c961d78c: Pulling fs layer 621f9c37fe3e: Waiting 4f4fb700ef54: Pulling fs layer 081023aaa233: Pulling fs layer 7bf2c961d78c: Waiting 4f4fb700ef54: Waiting fa4e249287fb: Pulling fs layer 539ac86e1895: Pulling fs layer 081023aaa233: Waiting fa4e249287fb: Waiting 62bae98a9155: Pulling fs layer bbc39c3da0a4: Pulling fs layer 539ac86e1895: Waiting 62bae98a9155: Waiting 3e77f4c85839: Pulling fs layer d02277f66f28: Pulling fs layer bbc39c3da0a4: Waiting 69a471cde21c: Pulling fs layer 3e77f4c85839: Waiting d02277f66f28: Waiting 27c12ec76477: Pulling fs layer 9f5e4eb06bdd: Pulling fs layer 9aca8ffce92a: Pulling fs layer 27c12ec76477: Waiting 3744dc3a5b9f: Pulling fs layer 79ba50761f79: Pulling fs layer 9f5e4eb06bdd: Waiting 9aca8ffce92a: Waiting 5217711b3bf2: Pulling fs layer 3744dc3a5b9f: Waiting 4d0f5bd33ce0: Pulling fs layer 79ba50761f79: Waiting 5217711b3bf2: Waiting 46cc27a07d86: Pulling fs layer 3d6f442e79e1: Pulling fs layer b6ed2a17d09c: Pulling fs layer 6f80b3d4534b: Pulling fs layer 3d6f442e79e1: Waiting 5ae7b47c44fc: Pulling fs layer 4d0f5bd33ce0: Waiting c96560c51a6e: Pulling fs layer b6ed2a17d09c: Waiting a853aa4dc271: Pulling fs layer 10faad6dbbc3: Pulling fs layer 6f80b3d4534b: Waiting 2dba4a2dda8d: Pulling fs layer 10faad6dbbc3: Waiting bebb75619b5a: Pulling fs layer bebb75619b5a: Waiting 6a7e0620566c: Verifying Checksum 6a7e0620566c: Download complete b522231f5ab2: Download complete afdd14ae9c19: Verifying Checksum afdd14ae9c19: Download complete 66581c681bfe: Verifying Checksum 66581c681bfe: Download complete f18cc03cd0ee: Verifying Checksum f18cc03cd0ee: Download complete 6a7e0620566c: Pull complete b522231f5ab2: Pull complete afdd14ae9c19: Pull complete 66581c681bfe: Pull complete f18cc03cd0ee: Pull complete 41c93f1246a4: Verifying Checksum 41c93f1246a4: Download complete 6f571f52b1e6: Verifying Checksum 6f571f52b1e6: Download complete cb520e352cb7: Verifying Checksum cb520e352cb7: Download complete f36a9356b87b: Verifying Checksum f36a9356b87b: Download complete 5ffee695b471: Verifying Checksum 5ffee695b471: Download complete 3b29523a83c0: Verifying Checksum 3b29523a83c0: Download complete bc29cdc25fce: Verifying Checksum bc29cdc25fce: Download complete 8517110ac83a: Verifying Checksum 8517110ac83a: Download complete 356db949e025: Verifying Checksum 356db949e025: Download complete 7ee9ee162427: Verifying Checksum 7ee9ee162427: Download complete 6a1d95c3a3f6: Download complete aa806464ecd0: Verifying Checksum aa806464ecd0: Download complete ca07ebc861f4: Download complete 3d4e2e60226d: Verifying Checksum 3d4e2e60226d: Download complete 621f9c37fe3e: Verifying Checksum 621f9c37fe3e: Download complete 80f6aee41e34: Verifying Checksum 80f6aee41e34: Download complete 7bf2c961d78c: Verifying Checksum 7bf2c961d78c: Download complete 4f4fb700ef54: Verifying Checksum 4f4fb700ef54: Download complete 081023aaa233: Verifying Checksum 081023aaa233: Download complete fa4e249287fb: Verifying Checksum fa4e249287fb: Download complete 539ac86e1895: Verifying Checksum 539ac86e1895: Download complete 62bae98a9155: Verifying Checksum 62bae98a9155: Download complete bbc39c3da0a4: Verifying Checksum bbc39c3da0a4: Download complete 3e77f4c85839: Verifying Checksum 3e77f4c85839: Download complete d02277f66f28: Download complete 69a471cde21c: Verifying Checksum 69a471cde21c: Download complete 27c12ec76477: Download complete 9f5e4eb06bdd: Verifying Checksum 9f5e4eb06bdd: Download complete 9aca8ffce92a: Verifying Checksum 9aca8ffce92a: Download complete 3744dc3a5b9f: Verifying Checksum 3744dc3a5b9f: Download complete 5217711b3bf2: Download complete 46cc27a07d86: Verifying Checksum 46cc27a07d86: Download complete 3d6f442e79e1: Verifying Checksum 3d6f442e79e1: Download complete b6ed2a17d09c: Download complete 6f80b3d4534b: Verifying Checksum 6f80b3d4534b: Download complete 5ae7b47c44fc: Download complete c96560c51a6e: Verifying Checksum c96560c51a6e: Download complete a853aa4dc271: Verifying Checksum a853aa4dc271: Download complete 41c93f1246a4: Pull complete cb520e352cb7: Pull complete 79ba50761f79: Verifying Checksum 79ba50761f79: Download complete 6f571f52b1e6: Pull complete f36a9356b87b: Pull complete 5ffee695b471: Pull complete 4d0f5bd33ce0: Verifying Checksum 4d0f5bd33ce0: Download complete 3b29523a83c0: Pull complete bc29cdc25fce: Pull complete 10faad6dbbc3: Download complete bebb75619b5a: Verifying Checksum bebb75619b5a: Download complete 2dba4a2dda8d: Download complete 8517110ac83a: Pull complete 356db949e025: Pull complete 7ee9ee162427: Pull complete 6a1d95c3a3f6: Pull complete aa806464ecd0: Pull complete ca07ebc861f4: Pull complete 3d4e2e60226d: Pull complete 621f9c37fe3e: Pull complete 80f6aee41e34: Pull complete 7bf2c961d78c: Pull complete 4f4fb700ef54: Pull complete 081023aaa233: Pull complete fa4e249287fb: Pull complete 539ac86e1895: Pull complete 62bae98a9155: Pull complete bbc39c3da0a4: Pull complete 3e77f4c85839: Pull complete d02277f66f28: Pull complete 69a471cde21c: Pull complete 27c12ec76477: Pull complete 9f5e4eb06bdd: Pull complete 9aca8ffce92a: Pull complete 3744dc3a5b9f: Pull complete 79ba50761f79: Pull complete 5217711b3bf2: Pull complete 4d0f5bd33ce0: Pull complete 46cc27a07d86: Pull complete 3d6f442e79e1: Pull complete b6ed2a17d09c: Pull complete 6f80b3d4534b: Pull complete 5ae7b47c44fc: Pull complete c96560c51a6e: Pull complete a853aa4dc271: Pull complete 10faad6dbbc3: Pull complete 2dba4a2dda8d: Pull complete bebb75619b5a: Pull complete Digest: sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0 Status: Downloaded newer image for ocaml/opam@sha256:887261dc4317b38fc7d7c14b181577ebcc527451ee68f7570cce454346262dc0 2026-04-03 19:23.34 ---> using "b991857bc532663195c9367a15b54da445df086396345870aae181468cbff451" from cache /: (comment debian-12-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-03 19:23.34 ---> using "51e82d412b033001f8730ad5679c094b4d67a0b7d2cf15f3d8f508bbc845624a" 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 [NOTE] The 'jobs' option was reset, its value was 71 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=71 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-04-03 19:23.34 ---> using "84920d434004718251217bc1eeca5eedc7bfcb6fa9b10af1ca40da535b88191c" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-106-generic The OCaml toplevel, version 5.4.0 2.5.0 2026-04-03 19:23.34 ---> using "a36f2c1b469bba0b8709ee1441c088962b00943019584bf6342f3b26b8210c85" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-03 19:23.34 ---> using "ee01ba31a0c57849c0a41065165ddcba944c6a19882473f481b28bbc0add4763" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 4f056bfedf..d28e8bf13a master -> origin/master d06cfb1853 Merge pull request #29632 from shonfeder/release-dune-3.22.1 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). 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-03 19:23.34 ---> using "102e1e1c5dda86926ead582d690b2e81ae07a887b3ea7c2c3f32c8c3c611ad52" from cache /src: (copy (src duration.opam) (dst ./)) 2026-04-03 19:23.34 ---> saved as "f2599f0b142a862773885fd3acff93f51c4b59f40684ac0ce361340d6dbfb462" /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-03 19:23.36 ---> saved as "183313eaaa34f2a7e58af4267922a2245c84d592e6c3446234451ff7ce3e9deb" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-03 19:23.36 ---> saved as "8535b9483ca1fa87aad34257f66e03f1d7ec919a649ab0a4ce3433979e9b9aa7" /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.1 fmt.0.11.0 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 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 "apt-get" "update" - Hit:1 http://deb.debian.org/debian bookworm InRelease - Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] - Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] - Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [294 kB] - Fetched 397 kB in 0s (991 kB/s) - Reading package lists... <><> 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.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml is already installed (current version is 5.4.0). [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-03 19:23.45 ---> saved as "c6057ade4a992a4c978564457e3082614af7f7bece8cff2f49058be593d04d6d" /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.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml is already installed (current version is 5.4.0). [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.1 - 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 ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (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.1 (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.1 -> 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-03 19:24.20 ---> saved as "a3d1da163593746513be4ede7cbd01afca31376e6b410f2a066371167587ae38" /src: (copy (src .) (dst /src)) 2026-04-03 19:24.20 ---> saved as "83a900fae8c76547408890cdaa918ef8f551128836e1f4f0ae68659c490b1a04" /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 `T8ZAL421'. [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. Full test results in `/src/_build/default/_build/_tests/Duration tests'. Test Successful in 0.003s. 33 tests run. 2026-04-03 19:24.21 ---> saved as "fd240a6572117e3f8f9e3577c14bdab6a1434d83de3da74c89eedea4e696b6dc" Job succeeded 2026-04-03 19:24.21: Job succeeded