From 1c1fb57b4563730ee599dcb6209fd221c5260f0b Mon Sep 17 00:00:00 2001 From: Mark Elvers Date: Sat, 9 May 2026 06:22:59 +0000 Subject: [PATCH 1/2] Port to OCurrent on Eio Drop Lwt throughout; use Eio for the engine, web server, capnp-rpc, prometheus and ocluster. Bumps the OCaml floor to 5.0 since Eio needs effects. Wiring changes that follow the ocurrent-deployer Eio port: - src/base_images.ml: Eio_main.run + Switch.run; thread sw/net/clock/fs through; Engine.create takes ~sw ~env and a closure that builds caps; Prometheus_unix.serve and Current_web.run are now Eio-aware. - src/pipeline.ml: Real plugin instance moved into v because Docker and OCluster are now per-engine first-class modules built from caps; notify_status takes ~slack alongside ~channel since Current_slack.post needs the runtime. - src/git_repositories.ml, src/win_ver.ml: drop Lwt operators in favour of Result.bind (let*); Process.exec takes a string list; Capnp_rpc.Std replaces Capnp_rpc_lwt; Cache.create now requires ~caps. - src/s.ml, src/dump.ml: alias Cluster_api = Current_ocluster.Cluster_api so the OCURRENT signature and the Fake module resolve against the new Cluster_api_eio package. Dockerfile: bump build base to ocaml/opam:debian-13-ocaml-5.4 and pin the prometheus / current_* / ocluster eio forks before installing deps. --- Dockerfile | 17 ++++++- base-images.opam | 6 +-- dune-project | 6 +-- src/base_images.ml | 101 ++++++++++++++++++++++----------------- src/dump.ml | 2 + src/dune | 6 ++- src/git_repositories.ml | 61 +++++++++++------------ src/git_repositories.mli | 2 +- src/pipeline.ml | 45 +++++++++-------- src/pipeline.mli | 6 ++- src/s.ml | 2 + src/win_ver.ml | 46 +++++++++--------- src/win_ver.mli | 2 +- 13 files changed, 172 insertions(+), 130 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9b9d248..637a5d4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM ocaml/opam:debian-ocaml-4.14 AS build +FROM ocaml/opam:debian-13-ocaml-5.4 AS build RUN sudo ln -sf /usr/bin/opam-2.5 /usr/bin/opam && opam init --reinit -ni RUN sudo rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' | sudo tee /etc/apt/apt.conf.d/keep-cache RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ @@ -16,6 +16,21 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ pkg-config RUN cd ~/opam-repository && git fetch -q origin master && git reset --hard 163a32c4d55fd31c455579249c3437165211f302 && opam update RUN opam option --global solver=builtin-0install +# OCurrent 2.0 needs the prometheus Eio fork plus all current_* packages +# from the eio branch, and current_ocluster's Eio plugin (which lives on the +# ocluster eio branch alongside its new ocluster-api-eio sibling). +RUN opam pin add -yn prometheus.dev https://github.com/mtelvers/prometheus.git#eio && \ + opam pin add -yn prometheus-app.dev https://github.com/mtelvers/prometheus.git#eio && \ + opam pin add -yn current.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_term.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_web.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_git.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_github.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_docker.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_slack.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn current_rpc.dev https://github.com/mtelvers/ocurrent.git#eio && \ + opam pin add -yn ocluster-api-eio.dev https://github.com/mtelvers/ocluster.git#eio && \ + opam pin add -yn current_ocluster.dev https://github.com/mtelvers/ocluster.git#eio COPY --chown=opam --link base-images.opam /src/ WORKDIR /src RUN --mount=type=cache,target=/home/opam/.opam/download-cache,sharing=locked,uid=1000,gid=1000 \ diff --git a/base-images.opam b/base-images.opam index 13e9127..b604a64 100644 --- a/base-images.opam +++ b/base-images.opam @@ -8,13 +8,13 @@ homepage: "https://github.com/ocurrent/docker-base-images" bug-reports: "https://github.com/ocurrent/docker-base-images/issues" depends: [ "dune" {>= "3.17"} - "ocaml" {>= "4.14"} - "conf-libev" {os != "win32"} + "ocaml" {>= "5.0"} "prometheus-app" {>= "1.0"} "ppx_sexp_conv" "ppx_deriving_yojson" "ppx_deriving" - "lwt" {>= "5.9.0"} + "eio" + "eio_main" "logs" "fmt" {>= "0.8.7"} "current" {>= "0.7.0"} diff --git a/dune-project b/dune-project index d965063..ff55033 100644 --- a/dune-project +++ b/dune-project @@ -12,13 +12,13 @@ (name base-images) (synopsis "Generate Docker base images for OCaml and opam using ocurrent") (depends - (ocaml (>= 4.14)) - (conf-libev (<> :os "win32")) + (ocaml (>= 5.0)) (prometheus-app (>= 1.0)) ppx_sexp_conv ppx_deriving_yojson ppx_deriving - (lwt (>= 5.9.0)) + eio + eio_main logs (fmt (>= 0.8.7)) (current (>= 0.7.0)) diff --git a/src/base_images.ml b/src/base_images.ml index 710de42..286d247 100644 --- a/src/base_images.ml +++ b/src/base_images.ml @@ -1,15 +1,15 @@ -open Capnp_rpc_lwt -open Lwt.Infix +open Capnp_rpc.Std let program_name = "base_images" module Rpc = Current_rpc.Impl(Current) let setup_log style_renderer default_level = - Prometheus_unix.Logging.init ?default_level (); Fmt_tty.setup_std_outputs ?style_renderer (); - Prometheus.CollectorRegistry.(register_pre_collect default) Metrics.update; - Metrics.init_last_build_time () + default_level +(** Pre-Eio setup. Returns [default_level] so [main] can pass it through to + [Prometheus_unix.Logging.init], which now requires an Eio clock and so + must be called from inside [Eio_main.run]. *) (* A low-security Docker Hub user used to push images to the staging area. Low-security because we never rely on the tags in this repository, just the hashes. *) @@ -20,32 +20,31 @@ let read_first_line path = Fun.protect (fun () -> input_line ch) ~finally:(fun () -> close_in ch) -let read_channel_uri path = - try - let uri = read_first_line path in - Current_slack.channel (Uri.of_string (String.trim uri)) +let read_slack_uri path = + try Uri.of_string (String.trim (read_first_line path)) with ex -> Fmt.failwith "Failed to read slack URI from %S: %a" path Fmt.exn ex -let run_capnp = function - | None -> Lwt.return (Capnp_rpc_unix.client_only_vat (), None) +let run_capnp ~sw ~net ~fs = function + | None -> Capnp_rpc_unix.client_only_vat ~sw net, None | Some public_address -> let config = Capnp_rpc_unix.Vat_config.create ~public_address - ~secret_key:(`File Conf.Capnp.secret_key) + ~secret_key:(`File Eio.Path.(fs / Conf.Capnp.secret_key)) + ~net (Capnp_rpc_unix.Network.Location.tcp ~host:"0.0.0.0" ~port:Conf.Capnp.internal_port) in let rpc_engine, rpc_engine_resolver = Capability.promise () in let service_id = Capnp_rpc_unix.Vat_config.derived_id config "engine" in let restore = Capnp_rpc_net.Restorer.single service_id rpc_engine in - Capnp_rpc_unix.serve config ~restore >>= fun vat -> + let vat = Capnp_rpc_unix.serve ~sw config ~restore in let uri = Capnp_rpc_unix.Vat.sturdy_uri vat service_id in let ch = open_out Conf.Capnp.cap_file in output_string ch (Uri.to_string uri ^ "\n"); close_out ch; Logs.app (fun f -> f "Wrote capability reference to %S" Conf.Capnp.cap_file); - Lwt.return (vat, Some rpc_engine_resolver) + vat, Some rpc_engine_resolver (* Access control policy. *) let has_role user = function @@ -68,32 +67,47 @@ let has_role user = function ) -> true | _ -> false -let main () config mode channel capnp_address github_auth submission_uri staging_password_file prometheus_config = - Lwt_main.run begin - let channel = Option.map read_channel_uri channel in - let staging_auth = staging_password_file |> Option.map (fun path -> staging_user, read_first_line path) in - run_capnp capnp_address >>= fun (vat, rpc_engine_resolver) -> - let submission_cap = Capnp_rpc_unix.Vat.import_exn vat submission_uri in - let connection = Current_ocluster.Connection.create ~max_pipeline:2 submission_cap in - let ocluster = Current_ocluster.v ?push_auth:staging_auth ~urgent:`Never connection in - let engine = Current.Engine.create ~config (Pipeline.v ?channel ~connection ~ocluster) in - rpc_engine_resolver |> Option.iter (fun r -> Capability.resolve_ok r (Rpc.engine engine)); - let authn = Option.map Current_github.Auth.make_login_uri github_auth in - let has_role = - if github_auth = None then Current_web.Site.allow_all - else has_role - in - let secure_cookies = channel <> None in (* TODO: find a better way to detect production use *) - let routes = - Routes.(s "login" /? nil @--> Current_github.Auth.login github_auth) :: - Current_web.routes engine in - let site = Current_web.Site.v ?authn ~secure_cookies ~has_role ~name:program_name ~refresh_pipeline:60 routes in - let prometheus = List.map (Lwt.map Result.ok) (Prometheus_unix.serve prometheus_config) in - Lwt.choose ([ - Current.Engine.thread engine; - Current_web.run ~mode site; - ] @ prometheus) - end +let main default_level config mode slack_path capnp_address auth_config submission_uri staging_password_file prometheus_config = + Eio_main.run @@ fun env -> + Eio.Switch.run @@ fun sw -> + let net = Eio.Stdenv.net env in + let clock = Eio.Stdenv.clock env in + let fs = Eio.Stdenv.fs env in + Prometheus_unix.Logging.init ~clock ?default_level (); + Prometheus_unix.init ~clock (); + Prometheus.CollectorRegistry.(register_pre_collect default) Metrics.update; + Metrics.init_last_build_time (); + let slack_uri = Option.map read_slack_uri slack_path in + let staging_auth = staging_password_file |> Option.map (fun path -> staging_user, read_first_line path) in + let auth = Option.map (Current_github.Auth.create ~net) auth_config in + let vat, rpc_engine_resolver = run_capnp ~sw ~net ~fs capnp_address in + let submission_cap = Capnp_rpc_unix.Vat.import_exn vat submission_uri in + let connection = Current_ocluster.Connection.create ~sw ~clock ~max_pipeline:2 submission_cap in + let engine = + Current.Engine.create ~sw ~env ~config (fun _engine -> + let caps = Current_cache.caps_of_engine _engine in + let slack, channel = + match slack_uri with + | None -> None, None + | Some uri -> + let slack = Current_slack.create ~caps ~net in + Some slack, Some (Current_slack.channel slack uri) + in + Pipeline.v ?slack ?channel ~caps ~connection ~staging_auth ()) + in + rpc_engine_resolver |> Option.iter (fun r -> Capability.resolve_ok r (Rpc.engine engine)); + let authn = Option.map Current_github.Auth.make_login_uri auth in + let has_role = + if auth_config = None then Current_web.Site.allow_all + else has_role + in + let secure_cookies = slack_uri <> None in (* TODO: find a better way to detect production use *) + let routes = + Routes.(s "login" /? nil @--> Current_github.Auth.login auth) :: + Current_web.routes engine in + let site = Current_web.Site.v ?authn ~secure_cookies ~has_role ~name:program_name ~refresh_pipeline:60 routes in + Eio.Fiber.all + (Current_web.run ~net ~mode site :: Prometheus_unix.serve ~net prometheus_config) (* Command-line parsing *) @@ -148,11 +162,10 @@ let setup_log = let cmd = let doc = "Build the ocaml/opam images for Docker Hub" in - let info = Cmd.info program_name ~doc in + let info = Cmd.info program_name ~doc in Cmd.v info Term.( - term_result ( - const main + const main $ setup_log $ Current.Config.cmdliner $ Current_web.cmdliner @@ -161,7 +174,7 @@ let cmd = $ Current_github.Auth.cmdliner $ submission_service $ staging_password - $ Prometheus_unix.opts)) + $ Prometheus_unix.opts) let () = match Sys.argv with diff --git a/src/dump.ml b/src/dump.ml index e578adf..081b2cb 100644 --- a/src/dump.ml +++ b/src/dump.ml @@ -1,3 +1,5 @@ +module Cluster_api = Current_ocluster.Cluster_api + module Log = struct type t = { mutable indent : string; diff --git a/src/dune b/src/dune index 8a637dd..58a0e78 100644 --- a/src/dune +++ b/src/dune @@ -3,6 +3,7 @@ (name base_images) (libraries current + current.cache current_web current_docker current_slack @@ -12,10 +13,13 @@ current_rpc capnp-rpc-unix dockerfile-opam - lwt.unix + eio + eio_main prometheus-app.unix fmt.cli + fmt.tty logs.cli + logs.fmt timedesc opam-core) (preprocess diff --git a/src/git_repositories.ml b/src/git_repositories.ml index 314cfa7..24e7c19 100644 --- a/src/git_repositories.ml +++ b/src/git_repositories.ml @@ -1,10 +1,6 @@ -open Lwt.Infix open Current.Syntax -let ( >>!= ) x f = - x >>= function - | Ok y -> f y - | Error _ as e -> Lwt.return e +let ( let* ) = Result.bind module Repositories = struct type t = No_context @@ -67,15 +63,15 @@ module Repositories = struct end let get_commit_hash ~job ~repo ~branch = - Current.Process.with_tmpdir ~prefix:"git-checkout" @@ fun cwd -> - Current.Process.exec ~cwd ~cancellable:true ~job ("", [|"git"; "clone"; "-b"; branch; repo; "."|]) >>!= fun () -> - Current.Process.check_output ~cwd ~cancellable:true ~job ("", [|"git"; "rev-parse"; "HEAD"|]) >>!= fun hash -> - Lwt.return (Ok (String.trim hash)) + Current.Process.with_tmpdir ~prefix:"git-checkout" ~job @@ fun cwd -> + let* () = Current.Process.exec ~cwd ~cancellable:true ~job ["git"; "clone"; "-b"; branch; repo; "."] in + let* hash = Current.Process.check_output ~cwd ~cancellable:true ~job ["git"; "rev-parse"; "HEAD"] in + Ok (String.trim hash) let get_latest_release_hash ~job ~repo = - Current.Process.with_tmpdir ~prefix:"git-checkout" @@ fun cwd -> - Current.Process.exec ~cwd ~cancellable:true ~job ("", [|"git"; "clone"; repo; "."|]) >>!= fun () -> - Current.Process.check_output ~cwd ~cancellable:true ~job ("", [|"git"; "tag"; "--format"; "%(objectname) %(refname:strip=2)"|]) >>!= fun all_tags -> + Current.Process.with_tmpdir ~prefix:"git-checkout" ~job @@ fun cwd -> + let* () = Current.Process.exec ~cwd ~cancellable:true ~job ["git"; "clone"; repo; "."] in + let* all_tags = Current.Process.check_output ~cwd ~cancellable:true ~job ["git"; "tag"; "--format"; "%(objectname) %(refname:strip=2)"] in let rec parse = function | "" -> [] | s -> Scanf.sscanf s "%s %s %s@!" (fun sha tag r -> (tag, sha) :: parse r) in @@ -88,7 +84,7 @@ module Repositories = struct | _ -> None) |> List.sort (fun (v1, _) (v2, _) -> OpamVersion.compare v2 v1) |> List.hd |> snd in - Lwt.return (Ok hash) + Ok hash let build No_context job { Key.opam_repository_master; @@ -100,24 +96,22 @@ module Repositories = struct opam_master } = Metrics.set_last_build_time_now (); - Current.Job.start job ~level:Current.Level.Mostly_harmless >>= fun () -> - get_commit_hash ~job ~repo:opam_repository_master ~branch:"master" >>!= fun opam_repository_master -> - get_commit_hash ~job ~repo:opam_2_1 ~branch:"2.1" >>!= fun opam_2_1 -> - get_commit_hash ~job ~repo:opam_2_2 ~branch:"2.2" >>!= fun opam_2_2 -> - get_commit_hash ~job ~repo:opam_2_3 ~branch:"2.3" >>!= fun opam_2_3 -> - get_commit_hash ~job ~repo:opam_2_4 ~branch:"2.4" >>!= fun opam_2_4 -> - get_commit_hash ~job ~repo:opam_2_5 ~branch:"2.5" >>!= fun opam_2_5 -> - get_latest_release_hash ~job ~repo:opam_master >>!= fun opam_master -> - let repos = { Value.opam_repository_master; - opam_2_1; - opam_2_2; - opam_2_3; - opam_2_4; - opam_2_5; - opam_master - } - in - Lwt.return (Ok repos) + Current.Job.start job ~level:Current.Level.Mostly_harmless; + let* opam_repository_master = get_commit_hash ~job ~repo:opam_repository_master ~branch:"master" in + let* opam_2_1 = get_commit_hash ~job ~repo:opam_2_1 ~branch:"2.1" in + let* opam_2_2 = get_commit_hash ~job ~repo:opam_2_2 ~branch:"2.2" in + let* opam_2_3 = get_commit_hash ~job ~repo:opam_2_3 ~branch:"2.3" in + let* opam_2_4 = get_commit_hash ~job ~repo:opam_2_4 ~branch:"2.4" in + let* opam_2_5 = get_commit_hash ~job ~repo:opam_2_5 ~branch:"2.5" in + let* opam_master = get_latest_release_hash ~job ~repo:opam_master in + Ok { Value.opam_repository_master; + opam_2_1; + opam_2_2; + opam_2_3; + opam_2_4; + opam_2_5; + opam_master + } let pp f _ = Fmt.string f "Git repositories" @@ -136,7 +130,8 @@ type t = { opam_master : Current_git.Commit_id.t; } -let get ~schedule = +let get ~caps ~schedule = + let cache = Cache.create ~caps in let key = { Repositories.Key. opam_repository_master = "https://github.com/ocaml/opam-repository"; @@ -150,7 +145,7 @@ let get ~schedule = let+ {Repositories.Value.opam_repository_master; opam_2_1; opam_2_2; opam_2_3; opam_2_4; opam_2_5; opam_master} = Current.component "Git-repositories" |> let> key = Current.return key in - Cache.get ~schedule Repositories.No_context key + Cache.get cache ~schedule Repositories.No_context key in { opam_repository_master = diff --git a/src/git_repositories.mli b/src/git_repositories.mli index 17a647d..1fe5c06 100644 --- a/src/git_repositories.mli +++ b/src/git_repositories.mli @@ -8,4 +8,4 @@ type t = { opam_master : Current_git.Commit_id.t; } -val get : schedule:Current_cache.Schedule.t -> t Current.t +val get : caps:Current_cache.caps -> schedule:Current_cache.Schedule.t -> t Current.t diff --git a/src/pipeline.ml b/src/pipeline.ml index 2181f89..60818ae 100644 --- a/src/pipeline.ml +++ b/src/pipeline.ml @@ -1,5 +1,6 @@ module Distro = Dockerfile_opam.Distro module Windows = Dockerfile_opam.Windows +module Cluster_api = Current_ocluster.Cluster_api module Switch_map = Map.Make(Ocaml_version) module Windows_map = Map.Make(Distro) @@ -7,14 +8,14 @@ module Windows_map = Map.Make(Distro) let weekly = Current_cache.Schedule.v ~valid_for:(Duration.of_day Conf.days_between_rebuilds) () let daily = Current_cache.Schedule.v ~valid_for:(Duration.of_day 1) () -let win_ver ocluster = +let win_ver ~caps connection = Conf.windows_distros |> List.fold_left (fun m (distro, product, pool) -> - let w = Win_ver.get ~schedule:daily ocluster product pool in + let w = Win_ver.get ~caps ~schedule:daily connection product pool in Windows_map.add distro w m) Windows_map.empty -let git_repositories () = - Git_repositories.get ~schedule:weekly +let git_repositories ~caps () = + Git_repositories.get ~caps ~schedule:weekly (* [aliases_of d] gives other tags which should point to [d]. e.g. just after the Ubuntu 20.04 release, [aliases_of ubuntu-20.04 = [ ubuntu; ubuntu-lts ]] *) @@ -452,29 +453,35 @@ module Make (OCurrent : S.OCURRENT) = struct Current.all pipelines end -module Real = Make(struct - module Current = Current - module OCluster = Current_ocluster - module Docker = Current_docker - end) - open Current.Syntax -let notify_status ?channel x = - match channel with - | None -> x - | Some channel -> +let notify_status ?slack ?channel x = + match slack, channel with + | Some slack, Some channel -> let s = let+ state = Current.catch x in Fmt.str "docker-base-images status: %a" (Current_term.Output.pp Current.Unit.pp) state in Current.all [ - Current_slack.post channel ~key:"base-images-status" s; + Current_slack.post slack channel ~key:"base-images-status" s; x (* If [x] fails, the whole pipeline should fail too. *) ] + | _ -> x -let v ?channel ~connection ~ocluster () = +let v ?slack ?channel ~caps ~connection ~staging_auth () = if Conf.auth = None then Fmt.pr "Password file %S not found; images will not be pushed to hub@." Conf.password_path; - let repos = git_repositories () in - let wv = win_ver connection in - Real.v ~ocluster ~repos ~windows_version:wv |> notify_status ?channel + let git = Current_git.create ~caps in + let module Docker_real = (val Current_docker.default ~caps ~git) in + let module OC = (val Current_ocluster.make ~caps ~connection) in + let oc = OC.v ?push_auth:staging_auth ~urgent:`Never () in + let module Real = Make (struct + module Current = Current + module OCluster = struct + type t = OC.t + module Raw = OC.Raw + end + module Docker = Docker_real + end) in + let repos = git_repositories ~caps () in + let wv = win_ver ~caps connection in + Real.v ~ocluster:oc ~repos ~windows_version:wv |> notify_status ?slack ?channel diff --git a/src/pipeline.mli b/src/pipeline.mli index 7ea964a..21186ff 100644 --- a/src/pipeline.mli +++ b/src/pipeline.mli @@ -13,9 +13,11 @@ module Make (OCurrent : S.OCURRENT) : sig end val v - : ?channel:Current_slack.channel + : ?slack:Current_slack.t + -> ?channel:Current_slack.channel + -> caps:Current_cache.caps -> connection:Current_ocluster.Connection.t - -> ocluster:Current_ocluster.t + -> staging_auth:(string * string) option -> unit -> unit Current.t (** The main pipeline. Builds images for all supported distribution, compiler version and architecture combinations. *) diff --git a/src/s.ml b/src/s.ml index 09b978d..6066808 100644 --- a/src/s.ml +++ b/src/s.ml @@ -1,4 +1,6 @@ (* The parts of the OCurrent API that we use. These can be replaced for tests. *) +module Cluster_api = Current_ocluster.Cluster_api + module type OCURRENT = sig module Current : sig type 'a t diff --git a/src/win_ver.ml b/src/win_ver.ml index 3d85502..9173b99 100644 --- a/src/win_ver.ml +++ b/src/win_ver.ml @@ -1,12 +1,12 @@ -open Lwt.Infix open Current.Syntax -let ( >>!= ) = Lwt_result.bind +module Cluster_api = Current_ocluster.Cluster_api + +let ( let* ) = Result.bind module Products = struct type t = Current_ocluster.Connection.t - let id = "win-version" module Key = struct @@ -27,9 +27,9 @@ module Products = struct let tail ~buffer ~job build_job = let rec aux start = - Cluster_api.Job.log build_job start >>= function - | Error (`Capnp e) -> Lwt.return @@ Fmt.error_msg "%a" Capnp_rpc.Error.pp e - | Ok ("", _) -> Lwt_result.return () + match Cluster_api.Job.log build_job start with + | Error (`Capnp e) -> Fmt.error_msg "%a" Capnp_rpc.Error.pp e + | Ok ("", _) -> Ok () | Ok (data, next) -> Buffer.add_string buffer data; Current.Job.write job data; @@ -38,32 +38,33 @@ module Products = struct let run_job ~buffer ~job build_job = let on_cancel _ = - Cluster_api.Job.cancel build_job >|= function + match Cluster_api.Job.cancel build_job with | Ok () -> () | Error (`Capnp e) -> Current.Job.log job "Cancel failed: %a" Capnp_rpc.Error.pp e in Current.Job.with_handler job ~on_cancel @@ fun () -> - let result = Cluster_api.Job.result build_job in - tail ~buffer ~job build_job >>!= fun () -> - result >>= function - | Error (`Capnp e) -> Lwt_result.fail (`Msg (Fmt.to_to_string Capnp_rpc.Error.pp e)) - | Ok _ as x -> Lwt.return x + match tail ~buffer ~job build_job with + | Error _ as e -> e + | Ok () -> + match Cluster_api.Job.result build_job with + | Error (`Capnp e) -> Error (`Msg (Fmt.to_to_string Capnp_rpc.Error.pp e)) + | Ok _ as x -> x let parse_output job build_job = let buffer = Buffer.create 1024 in - Capnp_rpc_lwt.Capability.with_ref build_job (run_job ~buffer ~job) >>!= fun (_ : string) -> - let normalized = String.concat "" (String.split_on_char '\r' (Buffer.contents buffer)) in - match Astring.String.cuts ~sep:"\nOuTPuT\n" normalized with - | [_; output; _] -> Lwt_result.return output - | [_; rest ] when Astring.String.is_prefix ~affix:"OuTPuT\n" rest -> Lwt_result.return "" - | _ -> Lwt_result.fail (`Msg "Missing output from command\n\n") + let* (_ : string) = Capnp_rpc.Std.Capability.with_ref build_job (run_job ~buffer ~job) in + let normalized = String.concat "" (String.split_on_char '\r' (Buffer.contents buffer)) in + match Astring.String.cuts ~sep:"\nOuTPuT\n" normalized with + | [_; output; _] -> Ok output + | [_; rest ] when Astring.String.is_prefix ~affix:"OuTPuT\n" rest -> Ok "" + | _ -> Error (`Msg "Missing output from command\n\n") let build connection job {Key.product; pool} = let spec_str = Printf.sprintf "FROM %s\nRUN powershell -NoProfile -Command \"'%.0f' | Out-Null; $k = Get-ItemProperty 'HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'; 'OuTPuT'; '{0}.{1}.{2}.{3}' -f $k.CurrentMajorVersionNumber, $k.CurrentMinorVersionNumber, $k.CurrentBuildNumber, $k.UBR; 'OuTPuT'\"" product (Unix.time ()) in let action = Cluster_api.Submission.docker_build (`Contents spec_str) in let pool = Current_ocluster.Connection.pool ~job ~pool ~action ~cache_hint:product connection in - Current.Job.start_with ~pool job ~level:Current.Level.Mostly_harmless >>= - parse_output job + let build_job = Current.Job.start_with ~pool job ~level:Current.Level.Mostly_harmless in + parse_output job build_job let pp f _ = Fmt.string f "Windows version" @@ -72,7 +73,8 @@ end module Cache = Current_cache.Make(Products) -let get ~schedule connection product pool = +let get ~caps ~schedule connection product pool = + let cache = Cache.create ~caps in Current.component "%s" product |> let> key = Current.return { Products.Key.product = product; pool } in - Cache.get ~schedule connection key + Cache.get cache ~schedule connection key diff --git a/src/win_ver.mli b/src/win_ver.mli index e04726b..1bd5029 100644 --- a/src/win_ver.mli +++ b/src/win_ver.mli @@ -1,2 +1,2 @@ -val get : schedule:Current_cache.Schedule.t -> Current_ocluster.Connection.t -> string -> string -> string Current.t +val get : caps:Current_cache.caps -> schedule:Current_cache.Schedule.t -> Current_ocluster.Connection.t -> string -> string -> string Current.t From 1f2054052f10031e4fbc59ba775b10ad325100c7 Mon Sep 17 00:00:00 2001 From: Mark Elvers Date: Fri, 15 May 2026 15:19:54 +0000 Subject: [PATCH 2/2] Submodule updates - ocaml-dockerfile.8.3.9 - ocaml-version.4.0.1 --- Dockerfile | 2 +- builds.expected | 1198 +++++++++++++++++------------------------------ 2 files changed, 428 insertions(+), 772 deletions(-) diff --git a/Dockerfile b/Dockerfile index 637a5d4..3d261e3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ libssl-dev \ m4 \ pkg-config -RUN cd ~/opam-repository && git fetch -q origin master && git reset --hard 163a32c4d55fd31c455579249c3437165211f302 && opam update +RUN cd ~/opam-repository && git fetch -q origin master && git reset --hard 28d044eb9ccd9b9275c54a845b30932c3d934aa0 && opam update RUN opam option --global solver=builtin-0install # OCurrent 2.0 needs the prometheus Eio fork plus all current_* packages # from the eio branch, and current_ocluster's Eio plugin (which lives on the diff --git a/builds.expected b/builds.expected index 478fb0b..c3a22c2 100644 --- a/builds.expected +++ b/builds.expected @@ -160,105 +160,6 @@ alpine-3.23/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:alpine-3.23-opam-arm64, ocurrent/opam-staging:alpine-3.23-opam-amd64 -> ocaml/opam:alpine-3.23-opam -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-arm64, ocurrent/opam-staging:alpine-3.23-ocaml-4.08-amd64 -> ocaml/opam:alpine-3.23-ocaml-4.08 -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-arm64, ocurrent/opam-staging:alpine-3.23-ocaml-4.08-amd64 -> ocaml/opam:alpine-ocaml-4.08 -4.08.1+afl/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+afl - RUN opam pin add -k version ocaml-variants 4.08.1+afl - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+afl/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+afl - RUN opam pin add -k version ocaml-variants 4.08.1+afl - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-afl-arm64, ocurrent/opam-staging:alpine-3.23-ocaml-4.08-afl-amd64 -> ocaml/opam:alpine-3.23-ocaml-4.08-afl -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-afl-arm64, ocurrent/opam-staging:alpine-3.23-ocaml-4.08-afl-amd64 -> ocaml/opam:alpine-ocaml-4.08-afl -4.08.1+flambda/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+flambda - RUN opam pin add -k version ocaml-variants 4.08.1+flambda - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+flambda/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+flambda - RUN opam pin add -k version ocaml-variants 4.08.1+flambda - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-flambda-arm64, ocurrent/opam-staging:alpine-3.23-ocaml-4.08-flambda-amd64 -> ocaml/opam:alpine-3.23-ocaml-4.08-flambda -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-flambda-arm64, ocurrent/opam-staging:alpine-3.23-ocaml-4.08-flambda-amd64 -> ocaml/opam:alpine-ocaml-4.08-flambda -4.08.1+fp/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:alpine-3.23-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+fp - RUN opam pin add -k version ocaml-variants 4.08.1+fp - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-fp-amd64 -> ocaml/opam:alpine-3.23-ocaml-4.08-fp -ocurrent/opam-staging:alpine-3.23-ocaml-4.08-fp-amd64 -> ocaml/opam:alpine-ocaml-4.08-fp 4.11.2/arm64 # syntax=docker/dockerfile:1 @@ -1458,20 +1359,6 @@ archlinux/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:archlinux-opam-amd64 -> ocaml/opam:archlinux-opam -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:archlinux-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:archlinux-ocaml-4.08-amd64 -> ocaml/opam:archlinux-ocaml-4.08 4.11.2/amd64 # syntax=docker/dockerfile:1 @@ -1685,19 +1572,6 @@ centos-9/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:centos-9-opam-amd64 -> ocaml/opam:centos-9-opam -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:centos-9-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:centos-9-ocaml-4.08-amd64 -> ocaml/opam:centos-9-ocaml-4.08 4.11.2/amd64 # syntax=docker/dockerfile:1 @@ -1909,20 +1783,6 @@ centos-10/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:centos-10-opam-amd64 -> ocaml/opam:centos-10-opam -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:centos-10-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:centos-10-ocaml-4.08-amd64 -> ocaml/opam:centos-10-ocaml-4.08 -ocurrent/opam-staging:centos-10-ocaml-4.08-amd64 -> ocaml/opam:centos-ocaml-4.08 4.11.2/amd64 # syntax=docker/dockerfile:1 @@ -2392,55 +2252,6 @@ debian-12/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:debian-12-opam-s390x, ocurrent/opam-staging:debian-12-opam-ppc64le, ocurrent/opam-staging:debian-12-opam-arm64, ocurrent/opam-staging:debian-12-opam-amd64 -> ocaml/opam:debian-12-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-12-opam-s390x - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-12-opam-ppc64le - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-12-opam-arm64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-12-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-12-ocaml-4.08-s390x, ocurrent/opam-staging:debian-12-ocaml-4.08-ppc64le, ocurrent/opam-staging:debian-12-ocaml-4.08-arm64, ocurrent/opam-staging:debian-12-ocaml-4.08-amd64 -> ocaml/opam:debian-12-ocaml-4.08 4.11.2/s390x # syntax=docker/dockerfile:1 @@ -3383,170 +3194,6 @@ debian-13/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:debian-13-opam-riscv64, ocurrent/opam-staging:debian-13-opam-s390x, ocurrent/opam-staging:debian-13-opam-ppc64le, ocurrent/opam-staging:debian-13-opam-arm64, ocurrent/opam-staging:debian-13-opam-amd64 -> ocaml/opam:debian-13-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-s390x - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-ppc64le - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-arm64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-13-ocaml-4.08-s390x, ocurrent/opam-staging:debian-13-ocaml-4.08-ppc64le, ocurrent/opam-staging:debian-13-ocaml-4.08-arm64, ocurrent/opam-staging:debian-13-ocaml-4.08-amd64 -> ocaml/opam:debian-13-ocaml-4.08 -ocurrent/opam-staging:debian-13-ocaml-4.08-s390x, ocurrent/opam-staging:debian-13-ocaml-4.08-ppc64le, ocurrent/opam-staging:debian-13-ocaml-4.08-arm64, ocurrent/opam-staging:debian-13-ocaml-4.08-amd64 -> ocaml/opam:debian-ocaml-4.08 -4.08.1+afl/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-s390x - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+afl - RUN opam pin add -k version ocaml-variants 4.08.1+afl - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+afl/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-ppc64le - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+afl - RUN opam pin add -k version ocaml-variants 4.08.1+afl - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+afl/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-arm64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+afl - RUN opam pin add -k version ocaml-variants 4.08.1+afl - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+afl/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+afl - RUN opam pin add -k version ocaml-variants 4.08.1+afl - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-13-ocaml-4.08-afl-s390x, ocurrent/opam-staging:debian-13-ocaml-4.08-afl-ppc64le, ocurrent/opam-staging:debian-13-ocaml-4.08-afl-arm64, ocurrent/opam-staging:debian-13-ocaml-4.08-afl-amd64 -> ocaml/opam:debian-13-ocaml-4.08-afl -ocurrent/opam-staging:debian-13-ocaml-4.08-afl-s390x, ocurrent/opam-staging:debian-13-ocaml-4.08-afl-ppc64le, ocurrent/opam-staging:debian-13-ocaml-4.08-afl-arm64, ocurrent/opam-staging:debian-13-ocaml-4.08-afl-amd64 -> ocaml/opam:debian-ocaml-4.08-afl -4.08.1+flambda/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-s390x - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+flambda - RUN opam pin add -k version ocaml-variants 4.08.1+flambda - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+flambda/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-ppc64le - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+flambda - RUN opam pin add -k version ocaml-variants 4.08.1+flambda - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+flambda/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-arm64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+flambda - RUN opam pin add -k version ocaml-variants 4.08.1+flambda - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1+flambda/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+flambda - RUN opam pin add -k version ocaml-variants 4.08.1+flambda - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-s390x, ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-ppc64le, ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-arm64, ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-amd64 -> ocaml/opam:debian-13-ocaml-4.08-flambda -ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-s390x, ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-ppc64le, ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-arm64, ocurrent/opam-staging:debian-13-ocaml-4.08-flambda-amd64 -> ocaml/opam:debian-ocaml-4.08-flambda -4.08.1+fp/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-13-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-variants.4.08.1+fp - RUN opam pin add -k version ocaml-variants 4.08.1+fp - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-13-ocaml-4.08-fp-amd64 -> ocaml/opam:debian-13-ocaml-4.08-fp -ocurrent/opam-staging:debian-13-ocaml-4.08-fp-amd64 -> ocaml/opam:debian-ocaml-4.08-fp 4.11.2/riscv64 # syntax=docker/dockerfile:1 @@ -5719,28 +5366,14 @@ debian-testing/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:debian-testing-opam-amd64 -> ocaml/opam:debian-testing-opam -4.08.1/amd64 +4.11.2/amd64 # syntax=docker/dockerfile:1 FROM ocurrent/opam-staging:debian-testing-opam-amd64 RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-testing-ocaml-4.08-amd64 -> ocaml/opam:debian-testing-ocaml-4.08 -4.11.2/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-testing-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.11 --packages=ocaml-base-compiler.4.11.2 - RUN opam pin add -k version ocaml-base-compiler 4.11.2 + RUN opam switch create 4.11 --packages=ocaml-base-compiler.4.11.2 + RUN opam pin add -k version ocaml-base-compiler 4.11.2 RUN opam install -y opam-depext ENTRYPOINT [ "opam", "exec", "--" ] CMD bash @@ -5958,20 +5591,6 @@ debian-unstable/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:debian-unstable-opam-amd64 -> ocaml/opam:debian-unstable-opam -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:debian-unstable-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:debian-unstable-ocaml-4.08-amd64 -> ocaml/opam:debian-unstable-ocaml-4.08 4.11.2/amd64 # syntax=docker/dockerfile:1 @@ -6276,33 +5895,6 @@ fedora-42/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:fedora-42-opam-arm64, ocurrent/opam-staging:fedora-42-opam-amd64 -> ocaml/opam:fedora-42-opam -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:fedora-42-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:fedora-42-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:fedora-42-ocaml-4.08-arm64, ocurrent/opam-staging:fedora-42-ocaml-4.08-amd64 -> ocaml/opam:fedora-42-ocaml-4.08 4.11.2/arm64 # syntax=docker/dockerfile:1 @@ -6714,40 +6306,422 @@ fedora-43/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:fedora-43-opam-arm64, ocurrent/opam-staging:fedora-43-opam-amd64 -> ocaml/opam:fedora-43-opam -4.08.1/arm64 +4.11.2/arm64 # syntax=docker/dockerfile:1 FROM ocurrent/opam-staging:fedora-43-opam-arm64 RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 + RUN opam switch create 4.11 --packages=ocaml-base-compiler.4.11.2 + RUN opam pin add -k version ocaml-base-compiler 4.11.2 RUN opam install -y opam-depext ENTRYPOINT [ "opam", "exec", "--" ] CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -4.08.1/amd64 +4.11.2/amd64 # syntax=docker/dockerfile:1 FROM ocurrent/opam-staging:fedora-43-opam-amd64 RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 + RUN opam switch create 4.11 --packages=ocaml-base-compiler.4.11.2 + RUN opam pin add -k version ocaml-base-compiler 4.11.2 RUN opam install -y opam-depext ENTRYPOINT [ "opam", "exec", "--" ] CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-4.08-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.08-amd64 -> ocaml/opam:fedora-43-ocaml-4.08 -ocurrent/opam-staging:fedora-43-ocaml-4.08-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.08-amd64 -> ocaml/opam:fedora-ocaml-4.08 -4.11.2/arm64 +ocurrent/opam-staging:fedora-43-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.11-amd64 -> ocaml/opam:fedora-43-ocaml-4.11 +4.14.3/arm64 # syntax=docker/dockerfile:1 FROM ocurrent/opam-staging:fedora-43-opam-arm64 RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + RUN opam switch create 4.14 --packages=ocaml-base-compiler.4.14.3 + RUN opam pin add -k version ocaml-base-compiler 4.14.3 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +4.14.3/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + RUN opam switch create 4.14 --packages=ocaml-base-compiler.4.14.3 + RUN opam pin add -k version ocaml-base-compiler 4.14.3 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.14-amd64 -> ocaml/opam:fedora-43-ocaml-4.14 +5.2.1/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-arm64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.2 --packages=ocaml-base-compiler.5.2.1 + RUN opam pin add -k version ocaml-base-compiler 5.2.1 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +5.2.1/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.2 --packages=ocaml-base-compiler.5.2.1 + RUN opam pin add -k version ocaml-base-compiler 5.2.1 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.2-amd64 -> ocaml/opam:fedora-43-ocaml-5.2 +5.3.0/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-arm64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.3 --packages=ocaml-base-compiler.5.3.0 + RUN opam pin add -k version ocaml-base-compiler 5.3.0 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +5.3.0/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.3 --packages=ocaml-base-compiler.5.3.0 + RUN opam pin add -k version ocaml-base-compiler 5.3.0 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.3-amd64 -> ocaml/opam:fedora-43-ocaml-5.3 +5.4.1/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-arm64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.4 --packages=ocaml-base-compiler.5.4.1 + RUN opam pin add -k version ocaml-base-compiler 5.4.1 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +5.4.1/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.4 --packages=ocaml-base-compiler.5.4.1 + RUN opam pin add -k version ocaml-base-compiler 5.4.1 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.4-amd64 -> ocaml/opam:fedora-43 +ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.4-amd64 -> ocaml/opam:fedora-43-ocaml-5.4 +5.5.0~beta1/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-arm64 + RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.5~beta1 --packages=ocaml-base-compiler.5.5.0~beta1 + RUN opam pin add -k version ocaml-base-compiler 5.5.0~beta1 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +5.5.0~beta1/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.5~beta1 --packages=ocaml-base-compiler.5.5.0~beta1 + RUN opam pin add -k version ocaml-base-compiler 5.5.0~beta1 + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-amd64 -> ocaml/opam:fedora-43-ocaml-5.5-beta1 +5.5.0/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-arm64 + RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.5 --packages=ocaml-variants.5.5.0+trunk + RUN opam pin add -k version ocaml-variants 5.5.0+trunk + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +5.5.0/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.5 --packages=ocaml-variants.5.5.0+trunk + RUN opam pin add -k version ocaml-variants 5.5.0+trunk + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.5-amd64 -> ocaml/opam:fedora-43-ocaml-5.5 +5.6.0/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-arm64 + RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.6 --packages=ocaml-variants.5.6.0+trunk + RUN opam pin add -k version ocaml-variants 5.6.0+trunk + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +5.6.0/amd64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-43-opam-amd64 + RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" + USER root + RUN yum install -y zstd && yum clean packages + USER opam + RUN opam switch create 5.6 --packages=ocaml-variants.5.6.0+trunk + RUN opam pin add -k version ocaml-variants 5.6.0+trunk + RUN opam install -y opam-depext + ENTRYPOINT [ "opam", "exec", "--" ] + CMD bash + COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] + +ocurrent/opam-staging:fedora-43-ocaml-5.6-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.6-amd64 -> ocaml/opam:fedora-43-ocaml-5.6 +fedora-44 +fedora-44/arm64 + # syntax=docker/dockerfile:1 + + # Autogenerated by OCaml-Dockerfile scripts + FROM fedora:44 + LABEL distro_style="rpm" + RUN yum --version || dnf install -y yum + RUN yum update -y + RUN yum group install -y "c-development" && yum clean packages + RUN yum install -y git patch unzip which tar xz libcap-devel openssl sudo bzip2 gawk && yum clean packages + RUN git config --global user.email "docker@example.com" + RUN git config --global user.name "Docker" + RUN git clone https://github.com/ocaml/opam /tmp/opam && cd /tmp/opam && cp -P -R -p . ../opam-sources && git checkout master && env MAKE='make -j' shell/bootstrap-ocaml.sh && make -C src_ext cache-archives + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.1 && cd ../opam-build-2.1 && git fetch -q && git checkout 2.1 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.1/opam /usr/bin/opam-2.1 && chmod a+x /usr/bin/opam-2.1 && rm -rf /tmp/opam-build-2.1 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.2 && cd ../opam-build-2.2 && git fetch -q && git checkout 2.2 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.2/opam /usr/bin/opam-2.2 && chmod a+x /usr/bin/opam-2.2 && rm -rf /tmp/opam-build-2.2 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.3 && cd ../opam-build-2.3 && git fetch -q && git checkout 2.3 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.3/opam /usr/bin/opam-2.3 && chmod a+x /usr/bin/opam-2.3 && rm -rf /tmp/opam-build-2.3 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.4 && cd ../opam-build-2.4 && git fetch -q && git checkout 2.4 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.4/opam /usr/bin/opam-2.4 && chmod a+x /usr/bin/opam-2.4 && rm -rf /tmp/opam-build-2.4 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.5 && cd ../opam-build-2.5 && git fetch -q && git checkout 2.5 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.5/opam /usr/bin/opam-2.5 && chmod a+x /usr/bin/opam-2.5 && rm -rf /tmp/opam-build-2.5 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-master && cd ../opam-build-master && git fetch -q && git checkout master && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-master/opam /usr/bin/opam-master && chmod a+x /usr/bin/opam-master && rm -rf /tmp/opam-build-master + + FROM fedora:44 + RUN yum --version || dnf install -y yum + RUN yum update -y + RUN yum group install -y "c-development" && yum clean packages + RUN yum install -y sudo passwd bzip2 unzip patch rsync nano gcc-c++ git tar xz libX11-devel which m4 gawk diffutils findutils bubblewrap && yum clean packages + COPY --from=0 [ "/usr/bin/opam-2.1", "/usr/bin/opam-2.1" ] + RUN ln /usr/bin/opam-2.1 /usr/bin/opam + COPY --from=0 [ "/usr/bin/opam-2.2", "/usr/bin/opam-2.2" ] + COPY --from=0 [ "/usr/bin/opam-2.3", "/usr/bin/opam-2.3" ] + COPY --from=0 [ "/usr/bin/opam-2.4", "/usr/bin/opam-2.4" ] + COPY --from=0 [ "/usr/bin/opam-2.5", "/usr/bin/opam-2.5" ] + COPY --from=0 [ "/usr/bin/opam-master", "/usr/bin/opam-dev" ] + RUN sed -i.bak '/LC_TIME LC_ALL LANGUAGE/aDefaults env_keep += "OPAMYES OPAMJOBS OPAMVERBOSE"' /etc/sudoers + COPY <<-EOF /etc/sudoers.d/opam + opam ALL=(ALL:ALL) NOPASSWD:ALL + EOF + RUN chmod 440 /etc/sudoers.d/opam + RUN chown root:root /etc/sudoers.d/opam + RUN sed -i.bak 's/^Defaults.*requiretty//g' /etc/sudoers + RUN useradd -d /home/opam -u 1000 -m -s /bin/bash opam + RUN passwd -l opam + RUN chown -R opam:opam /home/opam + USER opam + ENV HOME="/home/opam" + WORKDIR /home/opam + RUN mkdir .ssh + RUN chmod 700 .ssh + COPY --chown=opam <<-EOF /home/opam/.opamrc-nosandbox + wrap-build-commands: [] + wrap-install-commands: [] + wrap-remove-commands: [] + required-tools: [] + EOF + COPY --chown=opam <<-EOF /home/opam/opam-sandbox-disable + #!/bin/sh + cp ~/.opamrc-nosandbox ~/.opamrc + echo --- opam sandboxing disabled + EOF + RUN chmod a+x /home/opam/opam-sandbox-disable + RUN sudo mv /home/opam/opam-sandbox-disable /usr/bin/opam-sandbox-disable + COPY --chown=opam <<-EOF /home/opam/.opamrc-sandbox + wrap-build-commands: ["%{hooks}%/sandbox.sh" "build"] + wrap-install-commands: ["%{hooks}%/sandbox.sh" "install"] + wrap-remove-commands: ["%{hooks}%/sandbox.sh" "remove"] + EOF + COPY --chown=opam <<-EOF /home/opam/opam-sandbox-enable + #!/bin/sh + cp ~/.opamrc-sandbox ~/.opamrc + echo --- opam sandboxing enabled + EOF + RUN chmod a+x /home/opam/opam-sandbox-enable + RUN sudo mv /home/opam/opam-sandbox-enable /usr/bin/opam-sandbox-enable + RUN git config --global user.email "docker@example.com" + RUN git config --global user.name "Docker" + COPY --link --chown=opam:opam [ ".", "/home/opam/opam-repository" ] + RUN opam-sandbox-disable + RUN opam init -k git -a /home/opam/opam-repository --bare + RUN echo 'archive-mirrors: "https://opam.ocaml.org/cache"' >> ~/.opam/config + RUN rm -rf .opam/repo/default/.git + COPY --link [ "Dockerfile", "/Dockerfile.opam" ] + +fedora-44/amd64 + # syntax=docker/dockerfile:1 + + # Autogenerated by OCaml-Dockerfile scripts + FROM fedora:44 + LABEL distro_style="rpm" + RUN yum --version || dnf install -y yum + RUN yum update -y + RUN yum group install -y "c-development" && yum clean packages + RUN yum install -y git patch unzip which tar xz libcap-devel openssl sudo bzip2 gawk && yum clean packages + RUN git config --global user.email "docker@example.com" + RUN git config --global user.name "Docker" + RUN git clone https://github.com/ocaml/opam /tmp/opam && cd /tmp/opam && cp -P -R -p . ../opam-sources && git checkout master && env MAKE='make -j' shell/bootstrap-ocaml.sh && make -C src_ext cache-archives + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.1 && cd ../opam-build-2.1 && git fetch -q && git checkout 2.1 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.1/opam /usr/bin/opam-2.1 && chmod a+x /usr/bin/opam-2.1 && rm -rf /tmp/opam-build-2.1 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.2 && cd ../opam-build-2.2 && git fetch -q && git checkout 2.2 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.2/opam /usr/bin/opam-2.2 && chmod a+x /usr/bin/opam-2.2 && rm -rf /tmp/opam-build-2.2 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.3 && cd ../opam-build-2.3 && git fetch -q && git checkout 2.3 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.3/opam /usr/bin/opam-2.3 && chmod a+x /usr/bin/opam-2.3 && rm -rf /tmp/opam-build-2.3 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.4 && cd ../opam-build-2.4 && git fetch -q && git checkout 2.4 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.4/opam /usr/bin/opam-2.4 && chmod a+x /usr/bin/opam-2.4 && rm -rf /tmp/opam-build-2.4 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-2.5 && cd ../opam-build-2.5 && git fetch -q && git checkout 2.5 && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-2.5/opam /usr/bin/opam-2.5 && chmod a+x /usr/bin/opam-2.5 && rm -rf /tmp/opam-build-2.5 + RUN cd /tmp/opam-sources && cp -P -R -p . ../opam-build-master && cd ../opam-build-master && git fetch -q && git checkout master && ln -s ../opam/src_ext/archives src_ext/archives && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" ./configure --enable-cold-check --with-0install-solver --with-vendored-deps && env PATH="/tmp/opam/bootstrap/ocaml/bin:$PATH" make lib-ext all && mkdir -p /usr/bin && cp /tmp/opam-build-master/opam /usr/bin/opam-master && chmod a+x /usr/bin/opam-master && rm -rf /tmp/opam-build-master + + FROM fedora:44 + RUN yum --version || dnf install -y yum + RUN yum update -y + RUN yum group install -y "c-development" && yum clean packages + RUN yum install -y sudo passwd bzip2 unzip patch rsync nano gcc-c++ git tar xz libX11-devel which m4 gawk diffutils findutils bubblewrap && yum clean packages + COPY --from=0 [ "/usr/bin/opam-2.1", "/usr/bin/opam-2.1" ] + RUN ln /usr/bin/opam-2.1 /usr/bin/opam + COPY --from=0 [ "/usr/bin/opam-2.2", "/usr/bin/opam-2.2" ] + COPY --from=0 [ "/usr/bin/opam-2.3", "/usr/bin/opam-2.3" ] + COPY --from=0 [ "/usr/bin/opam-2.4", "/usr/bin/opam-2.4" ] + COPY --from=0 [ "/usr/bin/opam-2.5", "/usr/bin/opam-2.5" ] + COPY --from=0 [ "/usr/bin/opam-master", "/usr/bin/opam-dev" ] + RUN sed -i.bak '/LC_TIME LC_ALL LANGUAGE/aDefaults env_keep += "OPAMYES OPAMJOBS OPAMVERBOSE"' /etc/sudoers + COPY <<-EOF /etc/sudoers.d/opam + opam ALL=(ALL:ALL) NOPASSWD:ALL + EOF + RUN chmod 440 /etc/sudoers.d/opam + RUN chown root:root /etc/sudoers.d/opam + RUN sed -i.bak 's/^Defaults.*requiretty//g' /etc/sudoers + RUN useradd -d /home/opam -u 1000 -m -s /bin/bash opam + RUN passwd -l opam + RUN chown -R opam:opam /home/opam + USER opam + ENV HOME="/home/opam" + WORKDIR /home/opam + RUN mkdir .ssh + RUN chmod 700 .ssh + COPY --chown=opam <<-EOF /home/opam/.opamrc-nosandbox + wrap-build-commands: [] + wrap-install-commands: [] + wrap-remove-commands: [] + required-tools: [] + EOF + COPY --chown=opam <<-EOF /home/opam/opam-sandbox-disable + #!/bin/sh + cp ~/.opamrc-nosandbox ~/.opamrc + echo --- opam sandboxing disabled + EOF + RUN chmod a+x /home/opam/opam-sandbox-disable + RUN sudo mv /home/opam/opam-sandbox-disable /usr/bin/opam-sandbox-disable + COPY --chown=opam <<-EOF /home/opam/.opamrc-sandbox + wrap-build-commands: ["%{hooks}%/sandbox.sh" "build"] + wrap-install-commands: ["%{hooks}%/sandbox.sh" "install"] + wrap-remove-commands: ["%{hooks}%/sandbox.sh" "remove"] + EOF + COPY --chown=opam <<-EOF /home/opam/opam-sandbox-enable + #!/bin/sh + cp ~/.opamrc-sandbox ~/.opamrc + echo --- opam sandboxing enabled + EOF + RUN chmod a+x /home/opam/opam-sandbox-enable + RUN sudo mv /home/opam/opam-sandbox-enable /usr/bin/opam-sandbox-enable + RUN git config --global user.email "docker@example.com" + RUN git config --global user.name "Docker" + COPY --link --chown=opam:opam [ ".", "/home/opam/opam-repository" ] + RUN opam-sandbox-disable + RUN opam init -k git -a /home/opam/opam-repository --bare + RUN echo 'archive-mirrors: "https://opam.ocaml.org/cache"' >> ~/.opam/config + RUN rm -rf .opam/repo/default/.git + COPY --link [ "Dockerfile", "/Dockerfile.opam" ] + +ocurrent/opam-staging:fedora-44-opam-arm64, ocurrent/opam-staging:fedora-44-opam-amd64 -> ocaml/opam:fedora-44-opam +4.11.2/arm64 + # syntax=docker/dockerfile:1 + + FROM ocurrent/opam-staging:fedora-44-opam-arm64 + ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" RUN opam switch create 4.11 --packages=ocaml-base-compiler.4.11.2 RUN opam pin add -k version ocaml-base-compiler 4.11.2 RUN opam install -y opam-depext @@ -6758,8 +6732,7 @@ ocurrent/opam-staging:fedora-43-ocaml-4.08-arm64, ocurrent/opam-staging:fedora-4 4.11.2/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default + FROM ocurrent/opam-staging:fedora-44-opam-amd64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" RUN opam switch create 4.11 --packages=ocaml-base-compiler.4.11.2 RUN opam pin add -k version ocaml-base-compiler 4.11.2 @@ -6768,13 +6741,12 @@ ocurrent/opam-staging:fedora-43-ocaml-4.08-arm64, ocurrent/opam-staging:fedora-4 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.11-amd64 -> ocaml/opam:fedora-43-ocaml-4.11 -ocurrent/opam-staging:fedora-43-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.11-amd64 -> ocaml/opam:fedora-ocaml-4.11 +ocurrent/opam-staging:fedora-44-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-44-ocaml-4.11-amd64 -> ocaml/opam:fedora-44-ocaml-4.11 +ocurrent/opam-staging:fedora-44-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-44-ocaml-4.11-amd64 -> ocaml/opam:fedora-ocaml-4.11 4.14.3/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default + FROM ocurrent/opam-staging:fedora-44-opam-arm64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" RUN opam switch create 4.14 --packages=ocaml-base-compiler.4.14.3 RUN opam pin add -k version ocaml-base-compiler 4.14.3 @@ -6786,8 +6758,7 @@ ocurrent/opam-staging:fedora-43-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-4 4.14.3/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default + FROM ocurrent/opam-staging:fedora-44-opam-amd64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" RUN opam switch create 4.14 --packages=ocaml-base-compiler.4.14.3 RUN opam pin add -k version ocaml-base-compiler 4.14.3 @@ -6796,12 +6767,12 @@ ocurrent/opam-staging:fedora-43-ocaml-4.11-arm64, ocurrent/opam-staging:fedora-4 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.14-amd64 -> ocaml/opam:fedora-43-ocaml-4.14 -ocurrent/opam-staging:fedora-43-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-43-ocaml-4.14-amd64 -> ocaml/opam:fedora-ocaml-4.14 +ocurrent/opam-staging:fedora-44-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-44-ocaml-4.14-amd64 -> ocaml/opam:fedora-44-ocaml-4.14 +ocurrent/opam-staging:fedora-44-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-44-ocaml-4.14-amd64 -> ocaml/opam:fedora-ocaml-4.14 5.2.1/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 + FROM ocurrent/opam-staging:fedora-44-opam-arm64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root RUN yum install -y zstd && yum clean packages @@ -6816,7 +6787,7 @@ ocurrent/opam-staging:fedora-43-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-4 5.2.1/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 + FROM ocurrent/opam-staging:fedora-44-opam-amd64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root RUN yum install -y zstd && yum clean packages @@ -6828,12 +6799,12 @@ ocurrent/opam-staging:fedora-43-ocaml-4.14-arm64, ocurrent/opam-staging:fedora-4 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.2-amd64 -> ocaml/opam:fedora-43-ocaml-5.2 -ocurrent/opam-staging:fedora-43-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.2-amd64 -> ocaml/opam:fedora-ocaml-5.2 +ocurrent/opam-staging:fedora-44-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.2-amd64 -> ocaml/opam:fedora-44-ocaml-5.2 +ocurrent/opam-staging:fedora-44-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.2-amd64 -> ocaml/opam:fedora-ocaml-5.2 5.3.0/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 + FROM ocurrent/opam-staging:fedora-44-opam-arm64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root RUN yum install -y zstd && yum clean packages @@ -6848,7 +6819,7 @@ ocurrent/opam-staging:fedora-43-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-43 5.3.0/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 + FROM ocurrent/opam-staging:fedora-44-opam-amd64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root RUN yum install -y zstd && yum clean packages @@ -6860,12 +6831,12 @@ ocurrent/opam-staging:fedora-43-ocaml-5.2-arm64, ocurrent/opam-staging:fedora-43 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.3-amd64 -> ocaml/opam:fedora-43-ocaml-5.3 -ocurrent/opam-staging:fedora-43-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.3-amd64 -> ocaml/opam:fedora-ocaml-5.3 +ocurrent/opam-staging:fedora-44-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.3-amd64 -> ocaml/opam:fedora-44-ocaml-5.3 +ocurrent/opam-staging:fedora-44-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.3-amd64 -> ocaml/opam:fedora-ocaml-5.3 5.4.1/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 + FROM ocurrent/opam-staging:fedora-44-opam-arm64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root RUN yum install -y zstd && yum clean packages @@ -6880,7 +6851,7 @@ ocurrent/opam-staging:fedora-43-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-43 5.4.1/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 + FROM ocurrent/opam-staging:fedora-44-opam-amd64 ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root RUN yum install -y zstd && yum clean packages @@ -6892,14 +6863,14 @@ ocurrent/opam-staging:fedora-43-ocaml-5.3-arm64, ocurrent/opam-staging:fedora-43 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.4-amd64 -> ocaml/opam:fedora -ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.4-amd64 -> ocaml/opam:fedora-43 -ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.4-amd64 -> ocaml/opam:fedora-43-ocaml-5.4 -ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.4-amd64 -> ocaml/opam:fedora-ocaml-5.4 +ocurrent/opam-staging:fedora-44-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.4-amd64 -> ocaml/opam:fedora +ocurrent/opam-staging:fedora-44-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.4-amd64 -> ocaml/opam:fedora-44 +ocurrent/opam-staging:fedora-44-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.4-amd64 -> ocaml/opam:fedora-44-ocaml-5.4 +ocurrent/opam-staging:fedora-44-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.4-amd64 -> ocaml/opam:fedora-ocaml-5.4 5.5.0~beta1/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 + FROM ocurrent/opam-staging:fedora-44-opam-arm64 RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root @@ -6915,7 +6886,7 @@ ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43 5.5.0~beta1/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 + FROM ocurrent/opam-staging:fedora-44-opam-amd64 RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root @@ -6928,12 +6899,12 @@ ocurrent/opam-staging:fedora-43-ocaml-5.4-arm64, ocurrent/opam-staging:fedora-43 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-amd64 -> ocaml/opam:fedora-43-ocaml-5.5-beta1 -ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-amd64 -> ocaml/opam:fedora-ocaml-5.5-beta1 +ocurrent/opam-staging:fedora-44-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.5-beta1-amd64 -> ocaml/opam:fedora-44-ocaml-5.5-beta1 +ocurrent/opam-staging:fedora-44-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.5-beta1-amd64 -> ocaml/opam:fedora-ocaml-5.5-beta1 5.5.0/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 + FROM ocurrent/opam-staging:fedora-44-opam-arm64 RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root @@ -6949,7 +6920,7 @@ ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fed 5.5.0/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 + FROM ocurrent/opam-staging:fedora-44-opam-amd64 RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root @@ -6962,12 +6933,12 @@ ocurrent/opam-staging:fedora-43-ocaml-5.5-beta1-arm64, ocurrent/opam-staging:fed CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.5-amd64 -> ocaml/opam:fedora-43-ocaml-5.5 -ocurrent/opam-staging:fedora-43-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.5-amd64 -> ocaml/opam:fedora-ocaml-5.5 +ocurrent/opam-staging:fedora-44-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.5-amd64 -> ocaml/opam:fedora-44-ocaml-5.5 +ocurrent/opam-staging:fedora-44-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.5-amd64 -> ocaml/opam:fedora-ocaml-5.5 5.6.0/arm64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-arm64 + FROM ocurrent/opam-staging:fedora-44-opam-arm64 RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root @@ -6983,7 +6954,7 @@ ocurrent/opam-staging:fedora-43-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-43 5.6.0/amd64 # syntax=docker/dockerfile:1 - FROM ocurrent/opam-staging:fedora-43-opam-amd64 + FROM ocurrent/opam-staging:fedora-44-opam-amd64 RUN opam repo add beta git+https://github.com/ocaml/ocaml-beta-repository --set-default ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" USER root @@ -6996,8 +6967,8 @@ ocurrent/opam-staging:fedora-43-ocaml-5.5-arm64, ocurrent/opam-staging:fedora-43 CMD bash COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] -ocurrent/opam-staging:fedora-43-ocaml-5.6-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.6-amd64 -> ocaml/opam:fedora-43-ocaml-5.6 -ocurrent/opam-staging:fedora-43-ocaml-5.6-arm64, ocurrent/opam-staging:fedora-43-ocaml-5.6-amd64 -> ocaml/opam:fedora-ocaml-5.6 +ocurrent/opam-staging:fedora-44-ocaml-5.6-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.6-amd64 -> ocaml/opam:fedora-44-ocaml-5.6 +ocurrent/opam-staging:fedora-44-ocaml-5.6-arm64, ocurrent/opam-staging:fedora-44-ocaml-5.6-amd64 -> ocaml/opam:fedora-ocaml-5.6 oraclelinux-10 oraclelinux-10/amd64 # syntax=docker/dockerfile:1 @@ -7081,20 +7052,6 @@ oraclelinux-10/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:oraclelinux-10-opam-amd64 -> ocaml/opam:oraclelinux-10-opam -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:oraclelinux-10-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:oraclelinux-10-ocaml-4.08-amd64 -> ocaml/opam:oraclelinux-10-ocaml-4.08 -ocurrent/opam-staging:oraclelinux-10-ocaml-4.08-amd64 -> ocaml/opam:oraclelinux-ocaml-4.08 4.11.2/amd64 # syntax=docker/dockerfile:1 @@ -7392,34 +7349,6 @@ opensuse-16.0/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:opensuse-16.0-opam-arm64, ocurrent/opam-staging:opensuse-16.0-opam-amd64 -> ocaml/opam:opensuse-16.0-opam -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:opensuse-16.0-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:opensuse-16.0-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:opensuse-16.0-ocaml-4.08-arm64, ocurrent/opam-staging:opensuse-16.0-ocaml-4.08-amd64 -> ocaml/opam:opensuse-16.0-ocaml-4.08 -ocurrent/opam-staging:opensuse-16.0-ocaml-4.08-arm64, ocurrent/opam-staging:opensuse-16.0-ocaml-4.08-amd64 -> ocaml/opam:opensuse-ocaml-4.08 4.11.2/arm64 # syntax=docker/dockerfile:1 @@ -7782,20 +7711,6 @@ opensuse-tumbleweed/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:opensuse-tumbleweed-opam-amd64 -> ocaml/opam:opensuse-tumbleweed-opam -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:opensuse-tumbleweed-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:opensuse-tumbleweed-ocaml-4.08-amd64 -> ocaml/opam:opensuse-tumbleweed-ocaml-4.08 4.11.2/amd64 # syntax=docker/dockerfile:1 @@ -8353,55 +8268,6 @@ ubuntu-22.04/riscv64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:ubuntu-22.04-opam-s390x, ocurrent/opam-staging:ubuntu-22.04-opam-ppc64le, ocurrent/opam-staging:ubuntu-22.04-opam-arm64, ocurrent/opam-staging:ubuntu-22.04-opam-amd64, ocurrent/opam-staging:ubuntu-22.04-opam-riscv64 -> ocaml/opam:ubuntu-22.04-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-22.04-opam-s390x - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-22.04-opam-ppc64le - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-22.04-opam-arm64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-22.04-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:ubuntu-22.04-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-22.04-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-22.04-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-22.04-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-22.04-ocaml-4.08 4.11.2/s390x # syntax=docker/dockerfile:1 @@ -9473,55 +9339,6 @@ ubuntu-24.04/riscv64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:ubuntu-24.04-opam-s390x, ocurrent/opam-staging:ubuntu-24.04-opam-ppc64le, ocurrent/opam-staging:ubuntu-24.04-opam-arm64, ocurrent/opam-staging:ubuntu-24.04-opam-amd64, ocurrent/opam-staging:ubuntu-24.04-opam-riscv64 -> ocaml/opam:ubuntu-24.04-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-24.04-opam-s390x - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-24.04-opam-ppc64le - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-24.04-opam-arm64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-24.04-opam-amd64 - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:ubuntu-24.04-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-24.04-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-24.04-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-24.04-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-24.04-ocaml-4.08 4.11.2/s390x # syntax=docker/dockerfile:1 @@ -10593,59 +10410,6 @@ ubuntu-25.04/riscv64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:ubuntu-25.04-opam-s390x, ocurrent/opam-staging:ubuntu-25.04-opam-ppc64le, ocurrent/opam-staging:ubuntu-25.04-opam-arm64, ocurrent/opam-staging:ubuntu-25.04-opam-amd64, ocurrent/opam-staging:ubuntu-25.04-opam-riscv64 -> ocaml/opam:ubuntu-25.04-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.04-opam-s390x - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.04-opam-ppc64le - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.04-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.04-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:ubuntu-25.04-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-25.04-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-25.04-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-25.04-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-25.04-ocaml-4.08 4.11.2/s390x # syntax=docker/dockerfile:1 @@ -11648,59 +11412,6 @@ ubuntu-25.10/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:ubuntu-25.10-opam-s390x, ocurrent/opam-staging:ubuntu-25.10-opam-ppc64le, ocurrent/opam-staging:ubuntu-25.10-opam-arm64, ocurrent/opam-staging:ubuntu-25.10-opam-amd64 -> ocaml/opam:ubuntu-25.10-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.10-opam-s390x - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.10-opam-ppc64le - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.10-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-25.10-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:ubuntu-25.10-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-25.10-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-25.10-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-25.10-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-25.10-ocaml-4.08 4.11.2/s390x # syntax=docker/dockerfile:1 @@ -12572,61 +12283,6 @@ ubuntu-26.04/amd64 COPY --link [ "Dockerfile", "/Dockerfile.opam" ] ocurrent/opam-staging:ubuntu-26.04-opam-s390x, ocurrent/opam-staging:ubuntu-26.04-opam-ppc64le, ocurrent/opam-staging:ubuntu-26.04-opam-arm64, ocurrent/opam-staging:ubuntu-26.04-opam-amd64 -> ocaml/opam:ubuntu-26.04-opam -4.08.1/s390x - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-26.04-opam-s390x - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/ppc64le - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-26.04-opam-ppc64le - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/arm64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-26.04-opam-arm64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -4.08.1/amd64 - # syntax=docker/dockerfile:1 - - FROM ocurrent/opam-staging:ubuntu-26.04-opam-amd64 - RUN opam repo add ocaml-patches-overlay git+https://github.com/ocurrent/opam-repository#patches --set-default - ENV OPAMYES="1" OPAMCONFIRMLEVEL="unsafe-yes" OPAMERRLOGLEN="0" OPAMPRECISETRACKING="1" - RUN opam switch create 4.08 --packages=ocaml-base-compiler.4.08.1 - RUN opam pin add -k version ocaml-base-compiler 4.08.1 - RUN opam install -y opam-depext - ENTRYPOINT [ "opam", "exec", "--" ] - CMD bash - COPY --link [ "Dockerfile", "/Dockerfile.ocaml" ] - -ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-26.04-ocaml-4.08 -ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-lts-ocaml-4.08 -ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-s390x, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-ppc64le, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-arm64, ocurrent/opam-staging:ubuntu-26.04-ocaml-4.08-amd64 -> ocaml/opam:ubuntu-ocaml-4.08 4.11.2/s390x # syntax=docker/dockerfile:1