Organisationsocurrentocaml-dockerfile2e6e3c ()(lint-fmt)

(lint-fmt)

Link Copied
Code Copied

Logs

2026-01-26 17:30.09: New job: test ocurrent/ocaml-dockerfile https://github.com/ocurrent/ocaml-dockerfile.git#refs/pull/257/head (2e6e3c3ef851bdec92d75d3534fd248736c5f2a8) (linux-x86_64:(lint-fmt))
Base: ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500
ocamlformat version: version 0.28.1 (from opam)


To reproduce locally:


git clone --recursive "https://github.com/ocurrent/ocaml-dockerfile.git" && cd "ocaml-dockerfile" && git fetch origin "refs/pull/257/head" && git reset --hard 2e6e3c3e
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500
USER 1000:1000
RUN cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u
RUN opam depext -i dune
WORKDIR /src
RUN opam depext -i ocamlformat=0.28.1
COPY --chown=1000:1000 . /src/
RUN opam exec -- dune build @fmt --ignore-promoted-rules || (echo "dune build @fmt failed"; exit 2)


END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK


2026-01-26 17:30.09: Using cache hint "ocurrent/ocaml-dockerfile-ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500-debian-13-4.08_opam-2.5-ocamlformat-873cb18c37b308713d11ad3894c4bb78d73fb3e7"
2026-01-26 17:30.09: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500)
(user (uid 1000) (gid 1000))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext -i dune"))
(workdir /src)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext -i ocamlformat=0.28.1"))
(copy (src .) (dst /src/))
(run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
)


2026-01-26 17:30.09: Waiting for resource in pool OCluster
2026-01-26 17:30.09: Waiting for worker…
2026-01-26 17:30.11: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 2e6e3c3 Remove fdopen's opam


(from ocaml/opam:debian-13-ocaml-4.08@sha256:7cdc2a1943ac1462f548be7816c6d02f14e605659f225027208abe04795ea500)
2026-01-26 17:30.13 ---> using "4c1f60dc0cc5644c6a4c05cf3315bdbf9cc478b70e443b212a1220385bab8bba" from cache


/: (user (uid 1000) (gid 1000))


/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 873cb18c37b308713d11ad3894c4bb78d73fb3e7 || git fetch origin master) && git reset -q --hard 873cb18c37b308713d11ad3894c4bb78d73fb3e7 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
a6b2f19780..f9f7db30fd  master     -> origin/master
873cb18c37 Merge pull request #29216 from shonfeder/release-dune-3.21.0


<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
default (at git+file:///home/opam/opam-repository):
[INFO] opam 2.1 and 2.2 include many performance and security improvements over 2.0; please consider upgrading (https://opam.ocaml.org/doc/Install.html)


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
2026-01-26 17:30.13 ---> using "72a7cd495abee3d0659c15140c96fff42d035222fc9b794ad453f1a5292cd6f1" from cache


/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext -i dune"))
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# No extra OS packages requirements found.
# All required OS packages found.
# Now letting opam install the packages
The following actions will be performed:
- install dune 3.21.0


<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[dune.3.21.0] found in cache


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dune.3.21.0
Done.
# Run eval $(opam env) to update the current shell environment
2026-01-26 17:30.13 ---> using "3b5aee51bb4636e6dab95deb6944478b896d0b06f021712424b773f7d70073ac" from cache


/: (workdir /src)


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam depext -i ocamlformat=0.28.1"))
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# No extra OS packages requirements found.
# All required OS packages found.
# Now letting opam install the packages
The following actions will be performed:
- install sexplib0          v0.14.0  [required by base]
- install ocamlbuild        0.16.1   [required by fpath, astring, uuseg]
- install either            1.0.0    [required by ocamlformat-lib]
- install menhirLib         20250912 [required by ocamlformat-lib]
- install csexp             1.5.2    [required by ocamlformat]
- install dune-build-info   3.21.0   [required by ocamlformat-lib]
- install camlp-streams     5.0.1    [required by ocamlformat-lib]
- install seq               base     [required by re]
- install menhirSdk         20250912 [required by ocamlformat-lib]
- install fix               20250919 [required by ocamlformat-lib]
- install menhirCST         20250912 [required by menhir]
- install ocamlfind         1.9.8    [required by ocp-indent, astring, fpath, uuseg]
- install ocaml-version     4.0.3    [required by ocamlformat-lib]
- install cmdliner          2.1.0    [required by ocamlformat]
- install dune-configurator 3.21.0   [required by base]
- install re                1.11.0   [required by ocamlformat]
- install menhir            20250912 [required by ocamlformat-lib]
- install topkg             1.1.1    [required by fpath, astring, uuseg]
- install ocp-indent        1.9.0    [required by ocamlformat-lib]
- install base              v0.14.3  [required by ocamlformat-lib]
- install uutf              1.0.4    [required by ocamlformat-lib]
- install astring           0.8.5    [required by ocamlformat-lib]
- install stdio             v0.14.0  [required by ocamlformat-lib]
- install uucp              15.0.0   [required by uuseg]
- install fpath             0.7.3    [required by ocamlformat-lib]
- install uuseg             15.0.0   [required by ocamlformat-lib]
- install ocamlformat-lib   0.28.1   [required by ocamlformat]
- install ocamlformat       0.28.1
===== 28 to install =====


<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[astring.0.8.5] found in cache
[base.v0.14.3] found in cache
[camlp-streams.5.0.1] found in cache
[cmdliner.2.1.0] found in cache
[csexp.1.5.2] found in cache
[dune-build-info.3.21.0] found in cache
[dune-configurator.3.21.0] found in cache
[either.1.0.0] found in cache
[fix.20250919] found in cache
[fpath.0.7.3] found in cache
[menhir.20250912] found in cache
[menhirCST.20250912] found in cache
[menhirLib.20250912] found in cache
[menhirSdk.20250912] found in cache
[ocaml-version.4.0.3] found in cache
[ocamlbuild.0.16.1] found in cache
[ocamlfind.1.9.8] found in cache
[ocamlformat.0.28.1] found in cache
[ocamlformat-lib.0.28.1] found in cache
[ocp-indent.1.9.0] found in cache
[re.1.11.0] found in cache
[sexplib0.v0.14.0] found in cache
[stdio.v0.14.0] found in cache
[topkg.1.1.1] found in cache
[uucp.15.0.0] found in cache
[uuseg.15.0.0] found in cache
[uutf.1.0.4] found in cache


<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed seq.base
-> installed camlp-streams.5.0.1
-> installed csexp.1.5.2
-> installed cmdliner.2.1.0
-> installed either.1.0.0
-> installed fix.20250919
-> installed menhirCST.20250912
-> installed menhirLib.20250912
-> installed menhirSdk.20250912
-> installed ocaml-version.4.0.3
-> installed re.1.11.0
-> installed sexplib0.v0.14.0
-> installed dune-build-info.3.21.0
-> installed dune-configurator.3.21.0
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed ocp-indent.1.9.0
-> installed base.v0.14.3
-> installed topkg.1.1.1
-> installed stdio.v0.14.0
-> installed uutf.1.0.4
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed menhir.20250912
-> installed uucp.15.0.0
-> installed uuseg.15.0.0
-> installed ocamlformat-lib.0.28.1
-> installed ocamlformat.0.28.1
Done.


<><> ocp-indent.1.9.0 installed successfully ><><><><><><><><><><><><><><><><><>
=> This package requires additional configuration for use in editors. Install package 'user-setup', or manually:


* for Emacs, add these lines to ~/.emacs:
(add-to-list 'load-path "/home/opam/.opam/4.08/share/emacs/site-lisp")
(require 'ocp-indent)


* for Vim, add this line to ~/.vimrc:
set rtp^="/home/opam/.opam/4.08/share/ocp-indent/vim"
# Run eval $(opam env) to update the current shell environment
2026-01-26 17:30.58 ---> saved as "feaec41ae6674b5392c1669250b45e7c9432e92ab5fcb8c64fb0ca2bc77dcd2b"


/src: (copy (src .) (dst /src/))
2026-01-26 17:30.58 ---> saved as "b28f9d2ccc43fe01a438d9f167ee8dc5da941a110fbfebc7979f08589d0fce60"


/src: (run (shell "opam exec -- dune build @fmt --ignore-promoted-rules || (echo \"dune build @fmt failed\"; exit 2)"))
File "src-opam/opam.ml", line 1, characters 0-0:
diff --git a/_build/default/src-opam/opam.ml b/_build/default/src-opam/.formatted/opam.ml
index 17201a0..b82769e 100644
--- a/_build/default/src-opam/opam.ml
+++ b/_build/default/src-opam/.formatted/opam.ml
@@ -358,7 +358,8 @@ let copy_opams_windows opam_branches =
(* Make native opam-2.2 the default opam.
We no longer install fdopen's opam - native opam 2.2+ supports Windows directly. *)
let setup_default_opam_windows =
-  run {|mklink C:\cygwin64\usr\bin\opam.exe C:\cygwin64\usr\local\bin\opam-2.2.exe|}
+  run
+    {|mklink C:\cygwin64\usr\bin\opam.exe C:\cygwin64\usr\local\bin\opam-2.2.exe|}


(* Apk based Dockerfile *)
let apk_opam2 ?(labels = []) ?arch ~opam_hashes distro () =
@@ -528,7 +529,9 @@ let windows_mingw_opam2 ?(labels = []) ~override_tag ~opam_hashes (distro : D.t)
(* We use native opam 2.2+ instead of fdopen's opam, but still need the
Cygwin packages that install_ocaml_for_windows would provide. *)
let cygwin_setup =
-    let packages, _fdopen_opam_setup = Windows.Cygwin.install_ocaml_for_windows () in
+    let packages, _fdopen_opam_setup =
+      Windows.Cygwin.install_ocaml_for_windows ()
+    in
let packages = Windows.Cygwin.mingw_packages @ packages in
Windows.Cygwin.install_cygwin ~aslr_off:(aslr_state distro) ~extra:packages
()
@@ -542,8 +545,8 @@ let windows_mingw_opam2 ?(labels = []) ~override_tag ~opam_hashes (distro : D.t)
@@ Windows.sanitize_reg_path ()
@@ winget_setup @@ cygwin_setup
@@ copy_opams_windows opam_branches
-  @@ setup_default_opam_windows
-  @@ Windows.Cygwin.setup () @@ Windows.Cygwin.Git.init ()
+  @@ setup_default_opam_windows @@ Windows.Cygwin.setup ()
+  @@ Windows.Cygwin.Git.init ()


(* Native Windows with MSVC and WinGet. *)
let windows_msvc_opam2 ?(labels = []) ~override_tag ~opam_hashes (distro : D.t)
@@ -577,7 +580,9 @@ let windows_msvc_opam2 ?(labels = []) ~override_tag ~opam_hashes (distro : D.t)
(* We use native opam 2.2+ instead of fdopen's opam, but still need the
Cygwin packages that install_ocaml_for_windows would provide. *)
let cygwin_packages =
-    let packages, _fdopen_opam_setup = Windows.Cygwin.install_ocaml_for_windows () in
+    let packages, _fdopen_opam_setup =
+      Windows.Cygwin.install_ocaml_for_windows ()
+    in
Windows.Cygwin.install packages
in
parser_directive (`Escape '`')
@@ -588,8 +593,8 @@ let windows_msvc_opam2 ?(labels = []) ~override_tag ~opam_hashes (distro : D.t)
@@ user "ContainerAdministrator"
@@ cygwin_packages @@ winget_setup
@@ copy_opams_windows opam_branches
-  @@ setup_default_opam_windows
-  @@ Windows.Cygwin.setup () @@ Windows.Cygwin.Git.init ()
+  @@ setup_default_opam_windows @@ Windows.Cygwin.setup ()
+  @@ Windows.Cygwin.Git.init ()


let gen_opam2_distro ?override_tag ?(clone_opam_repo = true) ?arch ?labels
~opam_hashes d =
dune build @fmt failed
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @fmt --ignore-promoted-rules || (echo "dune build @fmt failed"; exit 2)" failed with exit status 2
2026-01-26 17:30.59: Job failed: Failed: Build failed