Organisationsocurrentopam-dune-lint04aed0 ()debian-13-4.14_s390x_opam-2.5

debian-13-4.14_s390x_opam-2.5

Link Copied
Code Copied

Logs

2026-02-13 08:10.55: New job: test ocurrent/opam-dune-lint https://github.com/ocurrent/opam-dune-lint.git#refs/heads/master (04aed0bd0e3e766f8e45c4af55a2051afd0b3b36) (linux-s390x:debian-13-4.14_s390x_opam-2.5)
Base: ocaml/opam:debian-13-ocaml-4.14@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/ocurrent/opam-dune-lint.git" -b "master" && cd "opam-dune-lint" && git reset --hard 04aed0bd
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.14@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c
# debian-13-4.14_s390x_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 302e116c4009da2f5a31c350a57c8b3c9b27289e || git fetch origin master) && git reset -q --hard 302e116c4009da2f5a31c350a57c8b3c9b27289e && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 opam-dune-lint.opam ./
RUN opam pin add -yn opam-dune-lint.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="astring.0.8.5 base-bigarray.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.1.0 csexp.1.5.2 dune.3.21.1 dyn.3.21.1 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocamlgraph.2.2.0 opam-core.2.5.0 opam-file-format.2.2.0 opam-format.2.5.0 opam-repository.2.5.0 opam-state.2.5.0 ordering.3.21.1 parsexp.v0.16.0 patch.3.1.0 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.21.1 swhid_core.0.1 top-closure.3.21.1 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 opam-dune-lint.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-02-13 08:10.55: Using cache hint "ocurrent/opam-dune-lint-ocaml/opam:debian-13-ocaml-4.14@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c-debian-13-4.14_s390x_opam-2.5-9a5944df2ee5eb50a7986ae0069f6736"
2026-02-13 08:10.55: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c)
(comment debian-13-4.14_s390x_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 302e116c4009da2f5a31c350a57c8b3c9b27289e || git fetch origin master) && git reset -q --hard 302e116c4009da2f5a31c350a57c8b3c9b27289e && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src opam-dune-lint.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn opam-dune-lint.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "astring.0.8.5 base-bigarray.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.1.0 csexp.1.5.2 dune.3.21.1 dyn.3.21.1 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocamlgraph.2.2.0 opam-core.2.5.0 opam-file-format.2.2.0 opam-format.2.5.0 opam-repository.2.5.0 opam-state.2.5.0 ordering.3.21.1 parsexp.v0.16.0 patch.3.1.0 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.21.1 swhid_core.0.1 top-closure.3.21.1 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 opam-dune-lint.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-02-13 08:10.55: Waiting for resource in pool OCluster
2026-02-15 05:12.10: Waiting for worker…
2026-02-15 09:56.25: Got resource from pool OCluster
Building on s390x-worker-01.marist.ci.dev
All commits already cached
HEAD is now at 04aed0b Merge pull request #72 from amongonz/newline-patch


(from ocaml/opam:debian-13-ocaml-4.14@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.14@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c' locally
docker.io/ocaml/opam@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c: Pulling from ocaml/opam
Digest: sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c
Status: Downloaded newer image for ocaml/opam@sha256:68f10dd39e49d591561c33aa69d59351b98e37ac63e63192e1bee906642a5c6c
2026-02-15 09:56.25 ---> using "4d413909f132eff1351ca56b1192e7957e3658946b80832d99c51d49f08a3550" from cache


/: (comment debian-13-4.14_s390x_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-02-15 09:56.25 ---> using "cf6c988b22f3b9a49ee1c7345221da2f2bac35df4da38cd3ef1b81163ff07860" 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.


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


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-02-15 09:56.25 ---> using "7a7df6f5d3b7f637977177ef900c617aaf529ea6b790ae0b8477201b9ff85054" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-71-generic
The OCaml toplevel, version 4.14.2
2.5.0
2026-02-15 09:56.25 ---> using "08d418268346507691efe00e11591a435755ec70c02efc50334da4e5e16a04b6" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2026-02-15 09:56.25 ---> using "4ea0b463a933acb1c5aa39b84c0f9fb4b7113a9303c6732a7fa874ea426b8017" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 302e116c4009da2f5a31c350a57c8b3c9b27289e || git fetch origin master) && git reset -q --hard 302e116c4009da2f5a31c350a57c8b3c9b27289e && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
340ee6fd1f..302e116c40  master     -> origin/master
302e116c40 Merge pull request #29374 from shonfeder/release-dune-3.21.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.4.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-02-15 09:56.25 ---> using "4c4892833f5049cdce14b05521df992ed65c47979c6b8c98007365c22ce25b48" from cache


/src: (copy (src opam-dune-lint.opam) (dst ./))
2026-02-15 09:56.25 ---> using "9071ecc9c6cba253d953a0a68516e04ace6917e735e1c33b5a6a30a4eb0734e0" from cache


/src: (run (network host)
(shell "opam pin add -yn opam-dune-lint.dev './'"))
[opam-dune-lint.dev] synchronised (file:///src)
opam-dune-lint is now pinned to file:///src (version dev)
2026-02-15 09:56.25 ---> using "2632a6897fbc93c12b8c101417460cb9cb8c22419bef36d28120cba30d2f2e72" from cache


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2026-02-15 09:56.25 ---> using "175aefd0c10051baf3bda4c00ed78baeafb5215fbac6ba0ca6f078a423756ff2" from cache


/src: (env DEPS "astring.0.8.5 base-bigarray.base base-threads.base base-unix.base bos.0.2.1 cmdliner.2.1.0 csexp.1.5.2 dune.3.21.1 dyn.3.21.1 fmt.0.11.0 fpath.0.7.3 fs-io.3.21.1 jsonm.1.0.2 logs.0.10.0 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 num.1.6 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 ocamlgraph.2.2.0 opam-core.2.5.0 opam-file-format.2.2.0 opam-format.2.5.0 opam-repository.2.5.0 opam-state.2.5.0 ordering.3.21.1 parsexp.v0.16.0 patch.3.1.0 pp.2.0.0 re.1.14.0 rresult.0.7.0 sexplib.v0.16.0 sexplib0.v0.16.0 sha.1.15.4 spdx_licenses.1.4.0 stdlib-shims.0.3.0 stdune.3.21.1 swhid_core.0.1 top-closure.3.21.1 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 opam-dune-lint.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 s390x Packages [98.0 kB]
- Fetched 189 kB in 0s (743 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[opam-dune-lint.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).
# To update the current shell environment, run: eval $(opam env)
2026-02-15 09:56.25 ---> using "bf9686e095e1dfe7915969bfa60418cbbbbe54eff368fe71a3e8bace16148638" 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 41 packages
- install astring          0.8.5
- install bos              0.2.1
- install cmdliner         2.1.0
- install csexp            1.5.2
- install dune             3.21.1
- install dyn              3.21.1
- install fmt              0.11.0
- install fpath            0.7.3
- install fs-io            3.21.1
- install jsonm            1.0.2
- install logs             0.10.0
- install menhir           20260209
- install menhirCST        20260209
- install menhirGLR        20260209
- install menhirLib        20260209
- install menhirSdk        20260209
- install num              1.6
- install ocamlbuild       0.16.1
- install ocamlfind        1.9.8
- install ocamlgraph       2.2.0
- install opam-core        2.5.0
- install opam-file-format 2.2.0
- install opam-format      2.5.0
- install opam-repository  2.5.0
- install opam-state       2.5.0
- install ordering         3.21.1
- install parsexp          v0.16.0
- install patch            3.1.0
- install pp               2.0.0
- install re               1.14.0
- install rresult          0.7.0
- install sexplib          v0.16.0
- install sexplib0         v0.16.0
- install sha              1.15.4
- install spdx_licenses    1.4.0
- install stdlib-shims     0.3.0
- install stdune           3.21.1
- install swhid_core       0.1
- install top-closure      3.21.1
- install topkg            1.1.1
- install uutf             1.0.4


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved astring.0.8.5  (cached)
-> retrieved bos.0.2.1  (cached)
-> retrieved cmdliner.2.1.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved jsonm.1.0.2  (cached)
-> retrieved dune.3.21.1, dyn.3.21.1, fs-io.3.21.1, ordering.3.21.1, stdune.3.21.1, top-closure.3.21.1  (cached)
-> retrieved logs.0.10.0  (cached)
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209  (cached)
-> retrieved num.1.6  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocamlgraph.2.2.0  (cached)
-> installed cmdliner.2.1.0
-> retrieved opam-core.2.5.0, opam-format.2.5.0, opam-repository.2.5.0, opam-state.2.5.0  (cached)
-> retrieved opam-file-format.2.2.0  (cached)
-> retrieved parsexp.v0.16.0  (cached)
-> retrieved patch.3.1.0  (cached)
-> retrieved pp.2.0.0  (cached)
-> retrieved re.1.14.0  (cached)
-> retrieved rresult.0.7.0  (cached)
-> retrieved sexplib.v0.16.0  (cached)
-> retrieved sexplib0.v0.16.0  (cached)
-> retrieved sha.1.15.4  (cached)
-> retrieved spdx_licenses.1.4.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved swhid_core.0.1  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved topkg.1.1.1  (cached)
-> installed num.1.6
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed fmt.0.11.0
-> installed rresult.0.7.0
-> installed astring.0.8.5
-> installed uutf.1.0.4
-> installed logs.0.10.0
-> installed fpath.0.7.3
-> installed jsonm.1.0.2
-> installed bos.0.2.1
-> installed dune.3.21.1
-> installed csexp.1.5.2
-> installed menhirCST.20260209
-> installed fs-io.3.21.1
-> installed menhirGLR.20260209
-> installed menhirLib.20260209
-> installed menhirSdk.20260209
-> installed patch.3.1.0
-> installed ordering.3.21.1
-> installed pp.2.0.0
-> installed ocamlgraph.2.2.0
-> installed re.1.14.0
-> installed sexplib0.v0.16.0
-> installed dyn.3.21.1
-> installed spdx_licenses.1.4.0
-> installed stdlib-shims.0.3.0
-> installed swhid_core.0.1
-> installed parsexp.v0.16.0
-> installed sha.1.15.4
-> installed top-closure.3.21.1
-> installed sexplib.v0.16.0
-> installed menhir.20260209
-> installed opam-file-format.2.2.0
-> installed opam-core.2.5.0
-> installed stdune.3.21.1
-> installed opam-format.2.5.0
-> installed opam-repository.2.5.0
-> installed opam-state.2.5.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-02-15 09:56.25 ---> using "ec628d9aed3b62d8150fafc2f3739f35485509136d97e0b1527351ff01ec46ef" from cache


/src: (copy (src .) (dst /src))
2026-02-15 09:56.27 ---> saved as "935194ce52f891095ef3d12aa703e4091cd63454156587cff051868b4915458f"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "tests/test_dune.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_dune.t _build/default/tests/test_dune.t.corrected
diff --git a/_build/default/tests/test_dune.t b/_build/default/tests/test_dune.t.corrected
index ba4ac70..c734bb2 100644
--- a/_build/default/tests/test_dune.t
+++ b/_build/default/tests/test_dune.t.corrected
@@ -47,30 +47,14 @@ Check that the missing libraries get added:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    (fmt
-     (>= *))
-    (ocamlfind
-     (>= *))
-    libfoo))


Check adding and removing of test markers:


@@ -96,26 +80,19 @@ Check adding and removing of test markers:
"ocamlfind"                              [from /] (remove {with-test})
"bos" {with-test}                        [from /] (missing {with-test} annotation)
"opam-state" {with-test}                 [from /] (missing {with-test} annotation)
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state :with-test)
-    (bos
-     (and
-      :with-test
-      (>= *)))
-    fmt
-    (ocamlfind
-     (>= *))
-    libfoo))


$ opam-dune-lint
-  test.opam: OK
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'describe' 'opam-files' '--format' 'csexp']: exited with 1")
+                  
+  [125]
File "tests/test_dune_stanza_install.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_dune_stanza_install.t _build/default/tests/test_dune_stanza_install.t.corrected
diff --git a/_build/default/tests/test_dune_stanza_install.t b/_build/default/tests/test_dune_stanza_install.t.corrected
index 1e2ca25..11bda9c 100644
--- a/_build/default/tests/test_dune_stanza_install.t
+++ b/_build/default/tests/test_dune_stanza_install.t.corrected
@@ -50,30 +50,14 @@ Check that the missing libraries get added:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    (fmt
-     (>= *))
-    (ocamlfind
-     (>= *))
-    libfoo))


Check adding and removing of test markers:


@@ -99,26 +83,19 @@ Check adding and removing of test markers:
"ocamlfind"                              [from /] (remove {with-test})
"bos" {with-test}                        [from /] (missing {with-test} annotation)
"opam-state" {with-test}                 [from /] (missing {with-test} annotation)
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state :with-test)
-    (bos
-     (and
-      :with-test
-      (>= *)))
-    fmt
-    (ocamlfind
-     (>= *))
-    libfoo))


$ opam-dune-lint
-  test.opam: OK
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'describe' 'opam-files' '--format' 'csexp']: exited with 1")
+                  
+  [125]
File "tests/test_empty_dune.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_empty_dune.t _build/default/tests/test_empty_dune.t.corrected
diff --git a/_build/default/tests/test_empty_dune.t b/_build/default/tests/test_empty_dune.t.corrected
index 727a0c9..11d1512 100644
--- a/_build/default/tests/test_empty_dune.t
+++ b/_build/default/tests/test_empty_dune.t.corrected
@@ -36,26 +36,11 @@ Check that all the libraries get added:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    (ocamlfind
-     (>= *))
-    (fmt
-     (>= *))))
File "tests/test_dune_copy_install.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_dune_copy_install.t _build/default/tests/test_dune_copy_install.t.corrected
diff --git a/_build/default/tests/test_dune_copy_install.t b/_build/default/tests/test_dune_copy_install.t.corrected
index edbcebd..1be8b94 100644
--- a/_build/default/tests/test_dune_copy_install.t
+++ b/_build/default/tests/test_dune_copy_install.t.corrected
@@ -70,43 +70,14 @@ Check that the missing libraries get added:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    (fmt
-     (>= *))
-    (ocamlfind
-     (>= *))
-    libfoo))
-  
-  (package
-   (name zombie)
-   (synopsis "Zombie package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))))


Check adding and removing of test markers:


@@ -139,40 +110,19 @@ Check adding and removing of test markers:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state :with-test)
-    (bos
-     (and
-      :with-test
-      (>= *)))
-    fmt
-    (ocamlfind
-     (>= *))
-    libfoo))
-  
-  (package
-   (name zombie)
-   (synopsis "Zombie package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))))


$ opam-dune-lint
-  test.opam: OK
-  zombie.opam: OK
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'describe' 'opam-files' '--format' 'csexp']: exited with 1")
+                  
+  [125]
File "tests/test_opam_update.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_opam_update.t _build/default/tests/test_opam_update.t.corrected
diff --git a/_build/default/tests/test_opam_update.t b/_build/default/tests/test_opam_update.t.corrected
index 15a9827..f4e57d4 100644
--- a/_build/default/tests/test_opam_update.t
+++ b/_build/default/tests/test_opam_update.t.corrected
@@ -61,7 +61,12 @@ Check that the missing libraries get added:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat test.opam | sed 's/= [^&)}]*/= */g'
# This file is generated by dune, edit dune-project instead
@@ -69,10 +74,6 @@ Check that the missing libraries get added:
synopsis: "Test package"
depends: [
"dune" {>= *}
-    "opam-state" {>= *& with-test}
-    "bos" {>= *& with-test}
-    "ocamlfind" {>= *}
-    "fmt" {>= *}
"cmdliner"
"odoc" {with-doc}
]
File "tests/test_dune_same_exe_name.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_dune_same_exe_name.t _build/default/tests/test_dune_same_exe_name.t.corrected
diff --git a/_build/default/tests/test_dune_same_exe_name.t b/_build/default/tests/test_dune_same_exe_name.t.corrected
index c25c319..fa72289 100644
--- a/_build/default/tests/test_dune_same_exe_name.t
+++ b/_build/default/tests/test_dune_same_exe_name.t.corrected
@@ -58,4 +58,9 @@ Check that the missing libraries get added:
"bos" {with-test & >= "1.0"}             [from bin]
"opam-state" {with-test & >= "1.0"}      [from bin]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]
File "tests/test_public_lib.t", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/tests/test_public_lib.t _build/default/tests/test_public_lib.t.corrected
diff --git a/_build/default/tests/test_public_lib.t b/_build/default/tests/test_public_lib.t.corrected
index 661e56b..950d32a 100644
--- a/_build/default/tests/test_public_lib.t
+++ b/_build/default/tests/test_public_lib.t.corrected
@@ -64,44 +64,14 @@ Check that the missing libraries get added:
"bos" {with-test & >= "1.0"}             [from /]
"opam-state" {with-test & >= "1.0"}      [from /]
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    (fmt
-     (>= *))
-    (ocamlfind
-     (>= *))
-    libfoo))
-  
-  (package
-   (name lib)
-   (synopsis "Lib package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    sexplib))


Check adding and removing of test markers:


@@ -135,41 +105,19 @@ Check adding and removing of test markers:
"bos" {with-test}                        [from /] (missing {with-test} annotation)
"opam-state" {with-test}                 [from /] (missing {with-test} annotation)
Note: version numbers are just suggestions based on the currently installed version.
-  Wrote "dune-project"
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'format-dune-file']: exited with 1")
+                  
+  [125]


$ cat dune-project | sed 's/= [^)}]*/= */g'
-  (lang dune 2.7)
-  
-  (generate_opam_files true)
-  
-  (package
-   (name test)
-   (synopsis "Test package")
-   (depends
-    (opam-state :with-test)
-    (bos
-     (and
-      :with-test
-      (>= *)))
-    fmt
-    (ocamlfind
-     (>= *))
-    libfoo))
-  
-  (package
-   (name lib)
-   (synopsis "Lib package")
-   (depends
-    (opam-state
-     (and
-      (>= *)
-      :with-test))
-    (bos
-     (and
-      (>= *)
-      :with-test))
-    sexplib))


$ opam-dune-lint
-  lib.opam: OK
-  test.opam: OK
+  File "dune-project", line 1, characters 0-0:
+  Error: Invalid first line, expected: (lang <lang> <version>)
+  opam-dune-lint: internal error, uncaught exception:
+                  Failure("run ['dune' 'describe' 'opam-files' '--format' 'csexp']: exited with 1")
+                  
+  [125]
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2026-02-15 09:56.37: Job failed: Failed: Build failed