2024-12-19 22:48.41: New job: test ocaml-ppx/ppxlib https://github.com/ocaml-ppx/ppxlib.git#refs/pull/541/head (6426dc0d1a28c1f36363570773aac42291cf4c41) (linux-x86_64:alpine-3.20-4.14_opam-2.3)
Base: ocaml/opam:alpine-3.20-ocaml-4.14@sha256:1373fc17e4d358b445e2642e92df91c019d7c9372b501e18374f891e87f709b0
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ocaml-ppx/ppxlib.git" && cd "ppxlib" && git fetch origin "refs/pull/541/head" && git reset --hard 6426dc0d
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:alpine-3.20-ocaml-4.14@sha256:1373fc17e4d358b445e2642e92df91c019d7c9372b501e18374f891e87f709b0
# alpine-3.20-4.14_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
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 5c7ffb23c89c6943b51f8e215548b72a12e3abd1 || git fetch origin master) && git reset -q --hard 5c7ffb23c89c6943b51f8e215548b72a12e3abd1 && 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.3 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 conf-bash.1 csexp.1.5.2 dune.3.17.1 dune-configurator.3.17.1 host-arch-x86_64.1 host-system-other.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.6 ppx_derivers.1.2.1 re.1.12.0 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.2.2.2"
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
2024-12-19 22:48.41: Using cache hint "ocaml-ppx/ppxlib-ocaml/opam:alpine-3.20-ocaml-4.14@sha256:1373fc17e4d358b445e2642e92df91c019d7c9372b501e18374f891e87f709b0-alpine-3.20-4.14_opam-2.3-9b794b2dd4166de71fb4f6a20b873aa1"
2024-12-19 22:48.41: Using OBuilder spec:
((from ocaml/opam:alpine-3.20-ocaml-4.14@sha256:1373fc17e4d358b445e2642e92df91c019d7c9372b501e18374f891e87f709b0)
(comment alpine-3.20-4.14_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(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 5c7ffb23c89c6943b51f8e215548b72a12e3abd1 || git fetch origin master) && git reset -q --hard 5c7ffb23c89c6943b51f8e215548b72a12e3abd1 && 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.3 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 conf-bash.1 csexp.1.5.2 dune.3.17.1 dune-configurator.3.17.1 host-arch-x86_64.1 host-system-other.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.6 ppx_derivers.1.2.1 re.1.12.0 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.2.2.2")
(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"))
)
2024-12-19 22:48.41: Waiting for resource in pool OCluster
2024-12-20 10:16.59: Waiting for worker…
2024-12-20 10:18.58: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at 6426dc0d Mark deriving.end attributes as seen in -no-corrections mode
(from ocaml/opam:alpine-3.20-ocaml-4.14@sha256:1373fc17e4d358b445e2642e92df91c019d7c9372b501e18374f891e87f709b0)
2024-12-20 10:18.59 ---> using "a3e9f67bc1ee9201c96140c65f9dc31519ebfb933f158b75d3a6cace968f8f0b" from cache
/: (comment alpine-3.20-4.14_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2024-12-20 10:18.59 ---> using "d77b2f66e512fbb59fac0cc398f4193ced3d770947441b72a6a30fe59bff8033" 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] synchronised from file:///home/opam/opam-repository
2024-12-20 10:18.59 ---> using "15912097597bf1f8b6d35bcbcf9e5bf59e45fda4eef47d2c9d834ef605b5788f" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-126-generic
The OCaml toplevel, version 4.14.2
2.3.0
2024-12-20 10:18.59 ---> using "ffa1974f5b216d9ef89ceffde98493096d027fad46a39375cf47d82a9d0bc6bf" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2024-12-20 10:18.59 ---> using "1e5de33315a4ac7f9119b5dab289531149f2ae1f6464e1352a51e90531dab968" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 5c7ffb23c89c6943b51f8e215548b72a12e3abd1 || git fetch origin master) && git reset -q --hard 5c7ffb23c89c6943b51f8e215548b72a12e3abd1 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
de786e28db..3531767c50 master -> origin/master
5c7ffb23c8 Merge pull request #27137 from maiste/release-dune-3.17.1
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from 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)
2024-12-20 10:18.59 ---> using "6c8a85c17ee5d8a9422b0d2ca01fa4c3ec90b341ec1904523c9b86d8a5e19425" from cache
/src: (copy (src ppxlib.opam ppxlib-tools.opam ppxlib-bench.opam) (dst ./))
2024-12-20 10:18.59 ---> using "d2b58a5a3da9eded2d3749a0d0e6337bee4eb1323f7a91c405020a54c5349cda" 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)
Package ppxlib-tools does not exist, create as a NEW package? [y/n] y
[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)
2024-12-20 10:18.59 ---> using "89bba381b168509a311197626b5d0fa8d5e3d5e483d2fb0b11082d603dc0ba34" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2024-12-20 10:18.59 ---> using "0a52155eeca909dc2b42cb034871637bb0687bd53ba0760a0d7dbbcd5950d03c" from cache
/src: (env DEPS "base.v0.16.3 base-bigarray.base base-threads.base base-unix.base cinaps.v0.15.1 cmdliner.1.3.0 conf-bash.1 csexp.1.5.2 dune.3.17.1 dune-configurator.3.17.1 host-arch-x86_64.1 host-system-other.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.6 ppx_derivers.1.2.1 re.1.12.0 seq.base sexplib0.v0.16.0 stdlib-shims.0.3.0 yojson.2.2.2")
/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 "apk" "update"
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/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.20.3-433-g123ceb85a17 [https://dl-cdn.alpinelinux.org/alpine/v3.20/main]
- v3.20.3-433-g123ceb85a17 [https://dl-cdn.alpinelinux.org/alpine/v3.20/community]
- v3.21.0-1131-g3dc9e6a0eca [https://dl-cdn.alpinelinux.org/alpine/edge/main]
- v3.21.0-1130-g5c45eb06daf [https://dl-cdn.alpinelinux.org/alpine/edge/community]
- v3.21.0-1130-g5c45eb06daf [https://dl-cdn.alpinelinux.org/alpine/edge/testing]
- OK: 56295 distinct packages available
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[ppxlib.dev] synchronised (file:///src)
[ppxlib-bench.dev] synchronised (file:///src)
[ppxlib-tools.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 host-system-other is already installed (current version is 1).
[NOTE] Package host-arch-x86_64 is already installed (current version is 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).
2024-12-20 10:19.14 ---> saved as "0bec30875ba2b5fb816dec05dae5d3997e6102a22c54910337828157cedb62cf"
/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 host-system-other is already installed (current version is 1).
[NOTE] Package host-arch-x86_64 is already installed (current version is 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 base v0.16.3
- install cinaps v0.15.1
- install cmdliner 1.3.0
- install conf-bash 1
- install csexp 1.5.2
- install dune 3.17.1
- install dune-configurator 3.17.1
- install ocaml-compiler-libs v0.12.4
- install ocamlfind 1.9.6
- install ppx_derivers 1.2.1
- install re 1.12.0
- install seq base
- install sexplib0 v0.16.0
- install stdlib-shims 0.3.0
- install yojson 2.2.2
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cinaps.v0.15.1 (cached)
-> installed conf-bash.1
-> retrieved csexp.1.5.2 (cached)
-> retrieved base.v0.16.3 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocamlfind.1.9.6 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved re.1.12.0 (cached)
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved yojson.2.2.2 (cached)
-> retrieved dune.3.17.1, dune-configurator.3.17.1 (cached)
-> installed cmdliner.1.3.0
-> installed ocamlfind.1.9.6
-> installed dune.3.17.1
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed ocaml-compiler-libs.v0.12.4
-> installed re.1.12.0
-> installed sexplib0.v0.16.0
-> installed stdlib-shims.0.3.0
-> installed yojson.2.2.2
-> installed cinaps.v0.15.1
-> installed dune-configurator.3.17.1
-> installed base.v0.16.3
Done.
# To update the current shell environment, run: eval $(opam env)
2024-12-20 10:20.00 ---> saved as "c7ac7e80c91f571e50869b6900c5328469e9f6f0329d3dd4e25d4c889a5236db"
/src: (copy (src .) (dst /src))
2024-12-20 10:20.02 ---> saved as "4458eff24c0b579165e1efbb9403a7d33744c885ff8faf25d0f39e3f6010d73a"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "test/driver/no-corrections/run.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/.sandbox/426ce3c54e869cc6549928833a1ac8fd/default/test/driver/no-corrections/run.t _build/.sandbox/426ce3c54e869cc6549928833a1ac8fd/default/test/driver/no-corrections/run.t.corrected
diff --git a/_build/.sandbox/426ce3c54e869cc6549928833a1ac8fd/default/test/driver/no-corrections/run.t b/_build/.sandbox/426ce3c54e869cc6549928833a1ac8fd/default/test/driver/no-corrections/run.t.corrected
index 573fa11..2582a0f 100644
--- a/_build/.sandbox/426ce3c54e869cc6549928833a1ac8fd/default/test/driver/no-corrections/run.t
+++ b/_build/.sandbox/426ce3c54e869cc6549928833a1ac8fd/default/test/driver/no-corrections/run.t.corrected
@@ -66,10 +66,18 @@ and the last [@@@deriving.end] that comes with it.
[@@@deriving.end ]
type t3[@@gen_stuff ]
[@@@deriving.end ]
- 3a4,6
- > let _ = fun (_ : t2) -> ()
- > [%%ocaml.error
- > "Ppxlib.Deriving: 'y' is not a supported type deriving generator"]
+ --- test.ml
+ +++ test.ml.ppx-corrected
+ @@ -1,6 +1,9 @@
+ type t [@@deriving x]
+ type t2
+ [@@deriving_inline y]
+ +let _ = fun (_ : t2) -> ()
+ +[%%ocaml.error
+ + "Ppxlib.Deriving: 'y' is not a supported type deriving generator"]
+ [@@@deriving.end]
+ type t3 [@@gen_stuff]
+ [@@@deriving.end]
[1]
Now if we run it with -no-corrections, there should be no .ppx-corrected file
@@ -101,12 +109,19 @@ expected and all corrections will be correctly generated
[@@@deriving.end ]
type t3[@@gen_stuff ]
[@@@deriving.end ]
- 3a4,6
- > let _ = fun (_ : t2) -> ()
- > let y = 3
- > let _ = y
- 5a9
- > let stuff = 4
+ --- test.ml
+ +++ test.ml.ppx-corrected
+ @@ -1,6 +1,10 @@
+ type t [@@deriving x]
+ type t2
+ [@@deriving_inline y]
+ +let _ = fun (_ : t2) -> ()
+ +let y = 3
+ +let _ = y
+ [@@@deriving.end]
+ type t3 [@@gen_stuff]
+ +let stuff = 4
+ [@@@deriving.end]
[1]
For reference and to document the behaviour of the -no-corrections flag in this
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2024-12-20 10:20.22: Job failed: Failed: Build failed