Organisationshannesmduration42b811 (main)(lower-bound)

(lower-bound)

Link Copied
Code Copied

Logs

2026-03-14 10:13.08: New job: test hannesm/duration https://github.com/hannesm/duration.git#refs/heads/main (42b811fcf5c0e07ccf17601d9a8a2c7f11e6f272) (linux-x86_64:(lower-bound))
Base: ocaml/opam:debian-13-ocaml-4.08@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47
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-13-ocaml-4.08@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47
# debian-13-4.08_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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && 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.0.1 astring.0.8.3 base-bigarray.base base-bytes.base base-threads.base base-unix.base cmdliner.1.0.4 conf-m4.1 dune.1.11.4 fmt.0.8.6 jbuilder.transition ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 seq.base stdlib-shims.0.1.0 topkg.1.0.8 uuidm.0.9.7"
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-03-14 10:13.08: Using cache hint "hannesm/duration-ocaml/opam:debian-13-ocaml-4.08@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47-debian-13-4.08_opam-2.5-b4947d7a690781f1ec33b44f5b3809d5"
2026-03-14 10:13.08: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.08@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47)
(comment debian-13-4.08_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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && 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.0.1 astring.0.8.3 base-bigarray.base base-bytes.base base-threads.base base-unix.base cmdliner.1.0.4 conf-m4.1 dune.1.11.4 fmt.0.8.6 jbuilder.transition ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 seq.base stdlib-shims.0.1.0 topkg.1.0.8 uuidm.0.9.7")
(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-03-14 10:13.08: Waiting for resource in pool OCluster
2026-03-14 10:17.04: Waiting for worker…
2026-03-14 10:18.00: 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-13-ocaml-4.08@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.08@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47' locally
docker.io/ocaml/opam@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47: Pulling from ocaml/opam
866771c43bf5: Already exists
1e49bea09367: Already exists
e793768537e6: Already exists
ed323d3d481a: Already exists
7df34a5cd5f1: Already exists
fd712d3eb935: Already exists
4b9fb8c99118: Already exists
9d9a01948b94: Already exists
0f1514f90b32: Already exists
e1ec5a753447: Already exists
03cc323e2f71: Already exists
c09c08ea9749: Already exists
b36b619f8e6b: Already exists
195344ca5274: Already exists
228ee78582a6: Already exists
504bde1c25b3: Already exists
9d8b1356c89f: Already exists
9d8b1356c89f: Already exists
568fb6dda155: Already exists
c499c9198aea: Already exists
048e5e358118: Already exists
871ca48eb45d: Already exists
4f4fb700ef54: Already exists
a5a2568b9df9: Already exists
068cf3106ac8: Already exists
559f54ec9b29: Already exists
798ffd96fde5: Already exists
e9a891bf80d7: Already exists
d720cfe12674: Already exists
c81c932f4a91: Already exists
79f24fa3bb11: Already exists
8c1debcd8c20: Already exists
1bb2cfea7250: Already exists
2b3d3ca75e4c: Already exists
557cacaf263c: Already exists
d10483022eef: Already exists
7b62a90d8223: Already exists
28ce8ea66e72: Already exists
d975909ea717: Already exists
5c215c69c247: Already exists
e7c082452a54: Already exists
b7df74d48e36: Pulling fs layer
66e3060fde97: Pulling fs layer
623e45e1559d: Pulling fs layer
9251109c0e89: Pulling fs layer
9251109c0e89: Waiting
66e3060fde97: Verifying Checksum
66e3060fde97: Download complete
623e45e1559d: Download complete
9251109c0e89: Download complete
b7df74d48e36: Verifying Checksum
b7df74d48e36: Download complete
b7df74d48e36: Pull complete
66e3060fde97: Pull complete
623e45e1559d: Pull complete
9251109c0e89: Pull complete
Digest: sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47
Status: Downloaded newer image for ocaml/opam@sha256:048f41796adc21a1c591ba8a7027365f75adbd0cc47a89cb4ad5d856f4815f47
2026-03-14 10:18.00 ---> using "867303d7f04cee0d3e23016229d2a45a69516628a14dbff52754cd3cb283f66f" from cache


/: (comment debian-13-4.08_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-03-14 10:18.00 ---> using "c7be1a1bf56a9af41378ced74906e3276ce5576096fe479f7bc8725acfbd5123" 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.


[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
Continue? [Y/n] y
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-14 10:18.00 ---> using "ccdab575862d9a949d4903bc8aad034b89b0a05240bdda721b9ce0cce4230d75" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-94-generic
The OCaml toplevel, version 4.08.1
2.5.0
2026-03-14 10:18.00 ---> using "f19adf73b8544d8f3f9b81cecf006440779a1d47bca42b32961acb7a712c1b5f" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2026-03-14 10:18.00 ---> using "edbc028d6daadd2aebe00894d268f0d76ea78071faf901b745bf45b52fda2d76" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
ffb54b9bdd..f2e7a221a1  master     -> origin/master
31462e7d24 Merge pull request #29451 from dra27/relocatable-package


<><> 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-03-14 10:18.00 ---> using "b3e02a1ba3f82e7ec96f8d839a408a2515d3bc782ff8f9b3a0a2c3cefea54e28" from cache


/src: (copy (src duration.opam) (dst ./))
2026-03-14 10:18.00 ---> using "e7c682017e87b90db844887f640f277866600ced0f62a293489c706370cb11a8" 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-03-14 10:18.01 ---> saved as "41eadfee0ee8054376e2fb761907ec7ca73e2154ee8acafe0adbbbb1529539dc"


/src: (run (shell "echo '(lang dune 3.0)' > './dune-project'"))
2026-03-14 10:18.01 ---> saved as "7d8a24d79371e0d24f1d3f75e9c3c272f9df615d0fbe7919e7af634d56d2891a"


/src: (env DEPS "alcotest.1.0.1 astring.0.8.3 base-bigarray.base base-bytes.base base-threads.base base-unix.base cmdliner.1.0.4 conf-m4.1 dune.1.11.4 fmt.0.8.6 jbuilder.transition ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-config.1 ocamlbuild.0.14.0 ocamlfind.1.8.0 re.1.7.2 seq.base stdlib-shims.0.1.0 topkg.1.0.8 uuidm.0.9.7")


/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 trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [111 kB]
- Fetched 202 kB in 0s (2054 kB/s)
- Reading package lists...


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[duration.dev] synchronised (file:///src)


[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.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-bigarray is already installed (current version is base).


The following system packages will first need to be installed:
m4


<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>


+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "m4"
- Selecting previously unselected package m4.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20623 files and directories currently installed.)
- Preparing to unpack .../archives/m4_1.4.19-8_amd64.deb ...
- Unpacking m4 (1.4.19-8) ...
- Setting up m4 (1.4.19-8) ...
# To update the current shell environment, run: eval $(opam env)
2026-03-14 10:18.12 ---> saved as "895f55e7683eaed999798f7827a59c71fcbd21f00d73dfadc58557e818a8a19f"


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.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-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 15 packages
- install alcotest     1.0.1
- install astring      0.8.3
- install base-bytes   base
- install cmdliner     1.0.4
- install conf-m4      1
- install dune         1.11.4
- install fmt          0.8.6
- install jbuilder     transition (deprecated)
- install ocamlbuild   0.14.0
- install ocamlfind    1.8.0
- install re           1.7.2
- install seq          base
- install stdlib-shims 0.1.0
- install topkg        1.0.8
- install uuidm        0.9.7


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.0.1  (cached)
-> retrieved astring.0.8.3  (cached)
-> retrieved cmdliner.1.0.4  (cached)
-> installed conf-m4.1
-> retrieved fmt.0.8.6  (cached)
-> retrieved ocamlbuild.0.14.0  (cached)
-> retrieved ocamlfind.1.8.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved dune.1.11.4  (cached)
-> retrieved re.1.7.2  (cached)
-> retrieved stdlib-shims.0.1.0  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved uuidm.0.9.7  (cached)
-> installed cmdliner.1.0.4
-> installed ocamlfind.1.8.0
-> installed base-bytes.base
-> installed ocamlbuild.0.14.0
-> installed topkg.1.0.8
-> installed uuidm.0.9.7
-> installed astring.0.8.3
-> installed dune.1.11.4
-> installed jbuilder.transition
-> installed stdlib-shims.0.1.0
-> installed re.1.7.2
-> installed fmt.0.8.6
-> installed alcotest.1.0.1
Done.


<><> jbuilder.transition installed successfully <><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> Jbuilder has been renamed and the jbuilder package is now a transition package. Use the dune package instead.
# To update the current shell environment, run: eval $(opam env)
2026-03-14 10:18.39 ---> saved as "d7f4eaefe28111aaa0e0ab9d022655896f1668c3fdf12fc085c68a671149218d"


/src: (copy (src .) (dst /src))
2026-03-14 10:18.39 ---> saved as "30536ca74b8fb4211724808758309dbe404132cb28d788f45000dc730dbb609e"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
tests alias runtest
Testing Duration tests.
This run has ID `6EC66F5A-3E19-4B70-A48E-BA43B78BDE34`.
...                Duration          0   of_us is good.
[OK]                Duration          0   of_us is good.
...                Duration          1   to_us is good.
[OK]                Duration          1   to_us is good.
...                Duration          2   inverse of/to_us.
[OK]                Duration          2   inverse of/to_us.
...                Duration          3   of_us is good.
[OK]                Duration          3   of_us is good.
...                Duration          4   to_us is good.
[OK]                Duration          4   to_us is good.
...                Duration          5   inverse of/to_us.
[OK]                Duration          5   inverse of/to_us.
...                Duration          6   of_ms is good.
[OK]                Duration          6   of_ms is good.
...                Duration          7   to_ms is good.
[OK]                Duration          7   to_ms is good.
...                Duration          8   inverse of/to_ms.
[OK]                Duration          8   inverse of/to_ms.
...                Duration          9   of_ms is good.
[OK]                Duration          9   of_ms is good.
...                Duration         10   to_ms is good.
[OK]                Duration         10   to_ms is good.
...                Duration         11   inverse of/to_ms.
[OK]                Duration         11   inverse of/to_ms.
...                Duration         12   of_sec is good.
[OK]                Duration         12   of_sec is good.
...                Duration         13   to_sec is good.
[OK]                Duration         13   to_sec is good.
...                Duration         14   inverse of/to_sec.
[OK]                Duration         14   inverse of/to_sec.
...                Duration         15   of_sec is good.
[OK]                Duration         15   of_sec is good.
...                Duration         16   to_sec is good.
[OK]                Duration         16   to_sec is good.
...                Duration         17   inverse of/to_sec.
[OK]                Duration         17   inverse of/to_sec.
...                Duration         18   of_min is good.
[OK]                Duration         18   of_min is good.
...                Duration         19   to_min is good.
[OK]                Duration         19   to_min is good.
...                Duration         20   inverse of/to_min.
[OK]                Duration         20   inverse of/to_min.
...                Duration         21   of_hour is good.
[OK]                Duration         21   of_hour is good.
...                Duration         22   to_hour is good.
[OK]                Duration         22   to_hour is good.
...                Duration         23   inverse of/to_hour.
[OK]                Duration         23   inverse of/to_hour.
...                Duration         24   of_day is good.
[OK]                Duration         24   of_day is good.
...                Duration         25   to_day is good.
[OK]                Duration         25   to_day is good.
...                Duration         26   inverse of/to_day.
[OK]                Duration         26   inverse of/to_day.
...                Duration         27   of_year is good.
[OK]                Duration         27   of_year is good.
...                Duration         28   to_year is good.
[OK]                Duration         28   to_year is good.
...                Duration         29   inverse of/to_year.
[OK]                Duration         29   inverse of/to_year.
...                Duration         30   of_f is good.
[OK]                Duration         30   of_f is good.
...                Duration         31   to_f is good.
[OK]                Duration         31   to_f is good.
...                Duration         32   inverse of/to_f.
[OK]                Duration         32   inverse of/to_f.
The full test results are available in `/src/_build/default/_build/_tests/6EC66F5A-3E19-4B70-A48E-BA43B78BDE34`.
Test Successful in 0.000s. 33 tests run.
2026-03-14 10:18.40 ---> saved as "58a03c46b1f819f19f43cbe9ec7db6e9e19f451d2c7d9edbd40195b86c43fa72"
Job succeeded
2026-03-14 10:18.40: Job succeeded