2025-08-26 12:17.33: New job: test mbarbin/dunolint https://github.com/mbarbin/dunolint.git#refs/heads/main (1c215654230a20bf9edc2574a82ec19eb5557d7d) (linux-x86_64:(lint-doc))
Base: ocaml/opam:alpine-3.21-ocaml-4.14@sha256:acda27c7e9ff770f0e09f53d730162c8ebf0f21b0ddc57f73b4cd1cf27c4af6d
Opam project lint documentation
To reproduce locally:
git clone --recursive "https://github.com/mbarbin/dunolint.git" -b "main" && cd "dunolint" && git reset --hard 1c215654
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.21-ocaml-4.14@sha256:acda27c7e9ff770f0e09f53d730162c8ebf0f21b0ddc57f73b4cd1cf27c4af6d
# alpine-3.21-4.14_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.2 /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 4c972ba0fc24bcf3f84a30d19f8d725f7ce382a4 || git fetch origin master) && git reset -q --hard 4c972ba0fc24bcf3f84a30d19f8d725f7ce382a4 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-dev.opam ./
RUN opam pin add -yn dunolint.dev './' && \
opam pin add -yn dunolint-tests.dev './' && \
opam pin add -yn dunolint-lib.dev './' && \
opam pin add -yn dunolint-dev.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="astring.0.8.5 base.v0.16.4 base-bigarray.base base-threads.base base-unix.base csexp.1.5.2 dune.3.20.1 dune-configurator.3.20.1 fpath.0.7.3 fpath-sexp0.0.3.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_compare.v0.16.0 ppx_derivers.1.2.1 ppx_enumerate.v0.16.0 ppx_sexp_conv.v0.16.0 ppxlib.0.35.0 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 topkg.1.1.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.2 --depext-only -y dunolint-lib.dev $DEPS
RUN opam install $DEPS
RUN opam install --yes dune 'odoc>=1.5.0'
COPY --chown=1000:1000 . /src/
RUN ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=dunolint-lib @doc || (echo "dune build @doc failed"; exit 2)
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-08-26 12:17.33: Using cache hint "mbarbin/dunolint-ocaml/opam:alpine-3.21-ocaml-4.14@sha256:acda27c7e9ff770f0e09f53d730162c8ebf0f21b0ddc57f73b4cd1cf27c4af6d-alpine-3.21-4.14_opam-2.4-97a499e6e09245fd9cbb7d3729476796"
2025-08-26 12:17.33: Using OBuilder spec:
((from ocaml/opam:alpine-3.21-ocaml-4.14@sha256:acda27c7e9ff770f0e09f53d730162c8ebf0f21b0ddc57f73b4cd1cf27c4af6d)
(comment alpine-3.21-4.14_opam-2.4)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.2 /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 4c972ba0fc24bcf3f84a30d19f8d725f7ce382a4 || git fetch origin master) && git reset -q --hard 4c972ba0fc24bcf3f84a30d19f8d725f7ce382a4 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-dev.opam)
(dst ./))
(run (network host)
(shell "opam pin add -yn dunolint.dev './' && \
\nopam pin add -yn dunolint-tests.dev './' && \
\nopam pin add -yn dunolint-lib.dev './' && \
\nopam pin add -yn dunolint-dev.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "astring.0.8.5 base.v0.16.4 base-bigarray.base base-threads.base base-unix.base csexp.1.5.2 dune.3.20.1 dune-configurator.3.20.1 fpath.0.7.3 fpath-sexp0.0.3.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_compare.v0.16.0 ppx_derivers.1.2.1 ppx_enumerate.v0.16.0 ppx_sexp_conv.v0.16.0 ppxlib.0.35.0 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 topkg.1.1.0")
(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.2 --depext-only -y dunolint-lib.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install --yes dune 'odoc>=1.5.0'"))
(copy (src .) (dst /src/))
(run (shell "ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=dunolint-lib @doc || (echo \"dune build @doc failed\"; exit 2)"))
)
2025-08-26 12:17.33: Waiting for resource in pool OCluster
2025-08-26 12:17.34: Waiting for worker…
2025-08-26 12:17.49: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at 1c21565 Remove with-dev-setup marker for dependencies in the dev pkg
(from ocaml/opam:alpine-3.21-ocaml-4.14@sha256:acda27c7e9ff770f0e09f53d730162c8ebf0f21b0ddc57f73b4cd1cf27c4af6d)
2025-08-26 12:17.49 ---> using "ea47f485ac5e3de6005676b139eead37b27580d3656da4cbc3286dafdec05f07" from cache
/: (comment alpine-3.21-4.14_opam-2.4)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
2025-08-26 12:17.49 ---> using "0a410955a2e3decb2c3c7c43536c0bf9017ce0d65727376b0091f906550447e5" 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 development 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-08-26 12:17.49 ---> using "c75d1552cf10fa116baa6062a0e580c244e157fe15416960b25666d40121d3d6" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-142-generic
The OCaml toplevel, version 4.14.2
2.2.1
2025-08-26 12:17.49 ---> using "6e6019031024ba74fba436abe33c519f223fc24c973f4b0550eef41adeb77209" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-08-26 12:17.49 ---> using "a38ff493994e0d70ad73f381e536174a68bf479d76a34bf99172c88d2df40008" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 4c972ba0fc24bcf3f84a30d19f8d725f7ce382a4 || git fetch origin master) && git reset -q --hard 4c972ba0fc24bcf3f84a30d19f8d725f7ce382a4 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
ee8b9193dd..4c972ba0fc master -> origin/master
4c972ba0fc Merge pull request #28397 from maiste/release-dune-3.20.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, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# Run eval $(opam env) to update the current shell environment
2025-08-26 12:17.49 ---> using "51504e5dc00b682ac43f1710c8c21e9e9d81a0aa7f42017417fdd120e54fde27" from cache
/src: (copy (src dunolint.opam dunolint-tests.opam dunolint-lib.opam dunolint-dev.opam)
(dst ./))
2025-08-26 12:17.49 ---> saved as "6c34a152fc6c355b1bc5188041b7fe0df212cdcbb22c6713e3097d0522affff6"
/src: (run (network host)
(shell "opam pin add -yn dunolint.dev './' && \
\nopam pin add -yn dunolint-tests.dev './' && \
\nopam pin add -yn dunolint-lib.dev './' && \
\nopam pin add -yn dunolint-dev.dev './'"))
[dunolint.dev] synchronised (file:///src)
dunolint is now pinned to file:///src (version dev)
Package dunolint-tests does not exist, create as a NEW package? [y/n] y
[dunolint-tests.dev] synchronised (file:///src)
dunolint-tests is now pinned to file:///src (version dev)
[dunolint-lib.dev] synchronised (file:///src)
dunolint-lib is now pinned to file:///src (version dev)
Package dunolint-dev does not exist, create as a NEW package? [y/n] y
[dunolint-dev.dev] synchronised (file:///src)
dunolint-dev is now pinned to file:///src (version dev)
2025-08-26 12:17.57 ---> saved as "6c32f573fb35beb43c2ede93e7ab5256a0c723eb4fd68a985bd4d5e31d1ec9cb"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-08-26 12:17.57 ---> saved as "7f0fe80db37285042683d14ecf4410a2f39b04be948b3f69ad59034295e63a29"
/src: (env DEPS "astring.0.8.5 base.v0.16.4 base-bigarray.base base-threads.base base-unix.base csexp.1.5.2 dune.3.20.1 dune-configurator.3.20.1 fpath.0.7.3 fpath-sexp0.0.3.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_compare.v0.16.0 ppx_derivers.1.2.1 ppx_enumerate.v0.16.0 ppx_sexp_conv.v0.16.0 ppxlib.0.35.0 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 topkg.1.1.0")
/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.2 --depext-only -y dunolint-lib.dev $DEPS"))
+ /usr/bin/sudo "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
- v3.21.4-68-gadb9caac9c2 [https://dl-cdn.alpinelinux.org/alpine/v3.21/main]
- v3.21.4-66-gdc5b4aa05cf [https://dl-cdn.alpinelinux.org/alpine/v3.21/community]
- v3.23.0_alpha20250612-5093-gaf13efde27c [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v3.23.0_alpha20250612-5095-g4bf69a98659 [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v3.23.0_alpha20250612-5086-gd5361cadeae [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 59394 distinct packages available
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[dunolint-lib.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 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[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).
2025-08-26 12:18.13 ---> saved as "6b68a443353237dfa47730e8f5926ebd2e4c1114abdf1d7947dfbb85a6f0e824"
/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 2).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[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 20 packages
- install astring 0.8.5
- install base v0.16.4
- install csexp 1.5.2
- install dune 3.20.1
- install dune-configurator 3.20.1
- install fpath 0.7.3
- install fpath-sexp0 0.3.1
- install ocaml-compiler-libs v0.12.4
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install ppx_compare v0.16.0
- install ppx_derivers 1.2.1
- install ppx_enumerate v0.16.0
- install ppx_sexp_conv v0.16.0
- install ppxlib 0.35.0
- install re 1.13.2
- install seq base
- install sexplib0 v0.16.0
- install stdlib-shims 0.3.0
- install topkg 1.1.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5 (cached)
-> retrieved base.v0.16.4 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved fpath-sexp0.0.3.1 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ppx_compare.v0.16.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_enumerate.v0.16.0 (cached)
-> retrieved ppx_sexp_conv.v0.16.0 (cached)
-> retrieved re.1.13.2 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved ppxlib.0.35.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved topkg.1.1.0 (cached)
-> retrieved dune.3.20.1, dune-configurator.3.20.1 (cached)
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed topkg.1.1.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.20.1
-> installed ppx_derivers.1.2.1
-> installed stdlib-shims.0.3.0
-> installed csexp.1.5.2
-> installed ocaml-compiler-libs.v0.12.4
-> installed re.1.13.2
-> installed sexplib0.v0.16.0
-> installed fpath-sexp0.0.3.1
-> installed dune-configurator.3.20.1
-> installed base.v0.16.4
-> installed ppxlib.0.35.0
-> installed ppx_enumerate.v0.16.0
-> installed ppx_compare.v0.16.0
-> installed ppx_sexp_conv.v0.16.0
Done.
# Run eval $(opam env) to update the current shell environment
2025-08-26 12:19.06 ---> saved as "858cc111423b352f963a9578a190292a867d9aa8e8d556405d206e7a2b9b9ed4"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install --yes dune 'odoc>=1.5.0'"))
[NOTE] Package dune is already installed (current version is 3.20.1).
The following actions will be performed:
=== install 10 packages
- install camlp-streams 5.0.1 [required by odoc-parser]
- install cmdliner 1.3.0 [required by odoc]
- install cppo 1.8.0 [required by odoc]
- install crunch 4.0.0 [required by odoc]
- install fmt 0.11.0 [required by odoc]
- install odoc 3.1.0
- install odoc-parser 3.1.0 [required by odoc]
- install ptime 1.2.0 [required by crunch]
- install tyxml 4.6.0 [required by odoc]
- install uutf 1.0.4 [required by tyxml]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved crunch.4.0.0 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved ptime.1.2.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved tyxml.4.6.0 (cached)
-> installed camlp-streams.5.0.1
-> retrieved odoc.3.1.0, odoc-parser.3.1.0 (cached)
-> installed cppo.1.8.0
-> installed ptime.1.2.0
-> installed odoc-parser.3.1.0
-> installed cmdliner.1.3.0
-> installed crunch.4.0.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed tyxml.4.6.0
-> installed odoc.3.1.0
Done.
# Run eval $(opam env) to update the current shell environment
2025-08-26 12:19.28 ---> saved as "7b8917e2d1a596cbdd194fe52c2d2473c16ffd354a4e4a9dea87e540169008ae"
/src: (copy (src .) (dst /src/))
2025-08-26 12:19.28 ---> saved as "d63871700f9f2f1840971d450495ebc12ce0225fa96f780193b1bbce27371acd"
/src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build --only-packages=dunolint-lib @doc || (echo \"dune build @doc failed\"; exit 2)"))
2025-08-26 12:19.31 ---> saved as "3af1313fdd4c74f581d9ce248b766ec53e0b1da439a5c5972a4373673893eea9"
Job succeeded
2025-08-26 12:19.31: Job succeeded