git clone --recursive "https://github.com/ocaml-ppx/ppxlib.git" -b "ppx-by-example" && cd "ppxlib" && git reset --hard 31e56384
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:fedora-41-ocaml-4.14@sha256:e18d67147cfd23b78ea8a17248216181b59b1047f2b8c3fc75f37938c49e35a4
# fedora-41-4.14_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo dnf install -y findutils
RUN sudo ln -f /usr/bin/opam-2.3 /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 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam ./
RUN opam pin add -yn ppxlib.dev './' && \
opam pin add -yn ppxlib-tools.dev './' && \
opam pin add -yn ppxlib-bench.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="base.v0.16.4 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.3.0.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.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 .
2025-07-04 15:14.45: New job: test ocaml-ppx/ppxlib https://github.com/ocaml-ppx/ppxlib.git#refs/heads/ppx-by-example (31e5638445edb2904b329bade19e359f88f93c82) (linux-x86_64:fedora-41-4.14_opam-2.3)
Base: ocaml/opam:fedora-41-ocaml-4.14@sha256:e18d67147cfd23b78ea8a17248216181b59b1047f2b8c3fc75f37938c49e35a4
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ocaml-ppx/ppxlib.git" -b "ppx-by-example" && cd "ppxlib" && git reset --hard 31e56384
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:fedora-41-ocaml-4.14@sha256:e18d67147cfd23b78ea8a17248216181b59b1047f2b8c3fc75f37938c49e35a4
# fedora-41-4.14_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo dnf install -y findutils
RUN sudo ln -f /usr/bin/opam-2.3 /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 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam ./
RUN opam pin add -yn ppxlib.dev './' && \
opam pin add -yn ppxlib-tools.dev './' && \
opam pin add -yn ppxlib-bench.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="base.v0.16.4 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.3.0.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.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
2025-07-04 15:14.45: Using cache hint "ocaml-ppx/ppxlib-ocaml/opam:fedora-41-ocaml-4.14@sha256:e18d67147cfd23b78ea8a17248216181b59b1047f2b8c3fc75f37938c49e35a4-fedora-41-4.14_opam-2.3-b68e9df276868c41024ba0e8680a3274"
2025-07-04 15:14.45: Using OBuilder spec:
((from ocaml/opam:fedora-41-ocaml-4.14@sha256:e18d67147cfd23b78ea8a17248216181b59b1047f2b8c3fc75f37938c49e35a4)
(comment fedora-41-4.14_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (network host)
(shell "sudo dnf install -y findutils"))
(run (shell "sudo ln -f /usr/bin/opam-2.3 /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 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn ppxlib.dev './' && \
\nopam pin add -yn ppxlib-tools.dev './' && \
\nopam pin add -yn ppxlib-bench.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "base.v0.16.4 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.3.0.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.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.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"))
)
2025-07-04 15:14.45: Waiting for resource in pool OCluster
2025-07-04 17:51.27: Waiting for worker…
2025-07-04 17:54.46: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at 31e56384 Merge pull request #570 from patricoferris/ci
(from ocaml/opam:fedora-41-ocaml-4.14@sha256:e18d67147cfd23b78ea8a17248216181b59b1047f2b8c3fc75f37938c49e35a4)
2025-07-04 17:54.46 ---> using "22fe946b035c020ff814c5576cdc75d7652cf945cb2c467c6d9cae1ca0d5d1e4" from cache
/: (comment fedora-41-4.14_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (network host)
(shell "sudo dnf install -y findutils"))
Updating and loading repositories:
Fedora 41 - x86_64 - Updates 100% | 157.2 KiB/s | 20.1 KiB | 00m00s
Fedora 41 openh264 (From Cisco) - x86_ 100% | 10.6 KiB/s | 986.0 B | 00m00s
Fedora 41 - x86_64 100% | 200.1 KiB/s | 27.2 KiB | 00m00s
Fedora 41 - x86_64 - Updates 100% | 6.0 MiB/s | 5.0 MiB | 00m01s
Fedora 41 openh264 (From Cisco) - x86_ 100% | 21.2 KiB/s | 5.8 KiB | 00m00s
Repositories loaded.
Package "findutils-1:4.10.0-4.fc41.x86_64" is already installed.
Nothing to do.
2025-07-04 17:54.46 ---> using "acba83c8fbb85f5fb83b3d24118174ced84b0f66836231dc84f8d54745061278" from cache
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-04 17:54.46 ---> using "ca3db86f436b376241c2269f32c845b6b5ab85471332a51034b18e4dbae999eb" 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-07-04 17:54.46 ---> using "c8590e32c8015d4f1bad379929a5a7f97d0d852ea223612fbffb57dd53027e6f" 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.3.0
2025-07-04 17:54.46 ---> using "605268a13adf0255e82b335cf6caa9db604ecc1366c7ff70da6dc14e3e676194" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-04 17:54.46 ---> using "9c99ba5690e61f79e97947f98468946414eb639242036a49598ef0d5dfab3355" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 382e02b4c17b5b59d503254784ac3a5d78916d5a || git fetch origin master) && git reset -q --hard 382e02b4c17b5b59d503254784ac3a5d78916d5a && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
c7269f729a..ee56c84f60 master -> origin/master
382e02b4c1 Merge pull request #28124 from kit-ty-kate/opam-publish-re.1.13.2
<><> 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.
# To update the current shell environment, run: eval $(opam env)
2025-07-04 17:54.46 ---> using "d6d24a23c05202d1f0d5fd200001d28725841bd3a638f21186955bc8b39f7dd7" from cache
/src: (copy (src ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam) (dst ./))
2025-07-04 17:54.46 ---> using "a60bbdde8fc5103ff2d379ed3105b68c9ba3ad455a5027ee1fbafd4cef04be9c" from cache
/src: (run (network host)
(shell "opam pin add -yn ppxlib.dev './' && \
\nopam pin add -yn ppxlib-tools.dev './' && \
\nopam pin add -yn ppxlib-bench.dev './'"))
[ppxlib.dev] synchronised (file:///src)
ppxlib is now pinned to file:///src (version dev)
[ppxlib-tools.dev] synchronised (file:///src)
ppxlib-tools is now pinned to file:///src (version dev)
Package ppxlib-bench does not exist, create as a NEW package? [y/n] y
[ppxlib-bench.dev] synchronised (file:///src)
ppxlib-bench is now pinned to file:///src (version dev)
2025-07-04 17:54.46 ---> using "5452d74794a6052c4fe8d19fc8f9eec35eaa998651f99df102d8187abe283562" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-04 17:54.46 ---> using "8d16fb8db89c312f614db91872d5e55bc77444c49461231361b89f38a99aa706" from cache
/src: (env DEPS "base.v0.16.4 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 csexp.1.5.2 dune.3.19.1 dune-configurator.3.19.1 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-compiler-libs.v0.12.4 ocaml-config.2 ocaml-options-vanilla.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 re.1.13.2 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.3.0.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.3 --depext-only -y ppxlib.dev ppxlib-tools.dev ppxlib-bench.dev $DEPS"))
+ /usr/bin/sudo "yum" "makecache"
- Updating and loading repositories:
- Repositories loaded.
- Metadata cache created.
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[ppxlib.dev] synchronised (file:///src)
[ppxlib-tools.dev] synchronised (file:///src)
[ppxlib-bench.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-07-04 17:54.46 ---> using "c1cdc66c055dd9770ac49c7e3f24e4bb6e134c541cd10101a24d7d01cba7d727" 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 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 14 packages
- install base v0.16.4
- install cinaps v0.15.1
- install cmdliner 1.3.0
- install csexp 1.5.2
- install dune 3.19.1
- install dune-configurator 3.19.1
- install ocaml-compiler-libs v0.12.4
- install ocamlfind 1.9.8
- install ppx_derivers 1.2.1
- install re 1.13.2
- install seq base
- install sexplib0 v0.16.0
- install stdlib-shims 0.3.0
- install yojson 3.0.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cinaps.v0.15.1 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved base.v0.16.4 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved re.1.13.2 (cached)
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved yojson.3.0.0 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.9.8
-> installed dune.3.19.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 yojson.3.0.0
-> installed cinaps.v0.15.1
-> installed dune-configurator.3.19.1
-> installed base.v0.16.4
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-04 17:54.46 ---> using "ea081ad2806a5f71d835a03b6c84f9e01782e1d57583139ec58afd311d47bba9" from cache
/src: (copy (src .) (dst /src))
2025-07-04 17:54.47 ---> saved as "fa41068196726c37e5742b3f7587320f041b2913485b59b2a995e03b93e867bc"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
2025-07-04 17:55.04 ---> saved as "112a5d133c60ba2c5131601b1698ffe3f86d1184f00e550a1120d38529b60e17"
Job succeeded
2025-07-04 17:55.05: Job succeeded