-
Notifications
You must be signed in to change notification settings - Fork 462
Open
Labels
Description
We currently have two ways of getting pre-built binaries of Dune: dune-bin (including dune-bin-install) and binary-distribution. Having two solutions is problematic for multiple reasons:
- Users are confused which one to use. They don't interlink much if at all, users need to be aware of multiple locations to get dune binaries.
- It requires more maintenance. There are two install scripts to maintain, multiple places to check if something breaks
- They act differently. While nightlies are generated automatically, releases are not. One of them includes completion scripts, the other doesn't. One of them attempts to deal with OPAM environment hooks, the other doesn't. Implementing the same for both is a drain on our resources and historically hasn't been done.
Desired Behavior
- There should be one source for both types of binaries: nightlies and releases
- There should be one install script that can install both
- The releases should be created automatically to not require extra steps in the release process
Example
The user should be able to use a similar (but unified) install command as now:
(binary-distribution)
$ curl -fsSL https://get.dune.build/install | sh(release)
$ curl -4fsSL https://github.com/ocaml-dune/dune-bin-install/releases/download/v3/install.sh | sh -s 3.20.1 --install-root /usr --no-update-shell-configwhich would download the right binary and install it.
Current progress
- Move metadata to nightly metadata ocaml-dune/binary-distribution#186
- Update to newer Alpine, OCaml, OPAM ocaml-dune/binary-distribution#187
- Build stable binaries using Github Actions ocaml-dune/binary-distribution#188
- Add endpoint to redirect to specific stable release ocaml-dune/binary-distribution#191
- Fixup #191 ocaml-dune/binary-distribution#194
- Extend binary installer to support the new
/stableendpoint ocaml-dune/binary-distribution#202 - Build relevant stable releases
- Archive the remaining projects to avoid user and developer confusion
Reactions are currently unavailable