-
Notifications
You must be signed in to change notification settings - Fork 235
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into ppx_hover
- Loading branch information
Showing
63 changed files
with
1,670 additions
and
440 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Release procedure | ||
|
||
## Project organization | ||
|
||
Merlin maintains multiple branches for multiple versions of the compiler. The current active support branches are: | ||
|
||
- `master` with support for OCaml 5.2 | ||
- `501` with support for OCaml 5.1 | ||
- `414` with support for OCaml 4.14 | ||
|
||
Development happens on the `master` branch and bug fixes that should be | ||
backported to other supported branches should be added to the appropriate | ||
[project](https://github.com/ocaml/merlin/projects?type=classic). | ||
|
||
Major changes were specific to OCaml 5.2 so the subsequent releases have a major | ||
version number at `5` (like `v5.0-502`) while support releases will stay with | ||
the version number `4` (like `v4.15-414` or `v4.15-501`). | ||
|
||
## Before the release | ||
|
||
- A PR is opened with the updated changelog for each released branch. The | ||
changelog should contain an appropriate timestamp for the release. | ||
- Additionally, for each non-master released version, the PR also contains the | ||
required backports. | ||
|
||
## Release | ||
|
||
We use `dune-release` to release Merlin. | ||
|
||
For each released branch: | ||
- Merge the corresponding PR. | ||
- Run `dune-release tag v4.15-414`. | ||
The tag should always formed in the same way: | ||
``` | ||
"v%s-%s" merlin_version ocaml_version | ||
``` | ||
For example: `v4.14-414`, `v5.0-502` etc. | ||
- Run `dune-release` and follow the instructions, but say `No` when asked if a PR should be created on opam's repository. | ||
- For multiple releases it is best to group all the releases in a single opam PR. Additionally it is often not necessary to release the `dot-merlin-package`. | ||
- Cherry-pick the commits from every branch created by `dune-release`, make the necessary changes (like removing the `dot-merlin-reader` packages) and open the PR on opam. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1 @@ | ||
FROM ocaml/opam:ubuntu-20.04-ocaml-5.2 | ||
|
||
WORKDIR /app | ||
|
||
RUN sudo apt-get update | ||
RUN sudo apt-get -y install jq | ||
COPY . . | ||
RUN sudo chown -R opam /app | ||
RUN eval $(opam env) | ||
|
||
# install merlin | ||
RUN opam install . | ||
|
||
# install merl-an | ||
## cache workaround: https://github.com/ocurrent/current-bench/issues/468#issuecomment-1621030354 | ||
ADD https://api.github.com/repos/pitag-ha/merl-an/git/refs/heads/main .merl-an-info | ||
RUN opam pin -y merl-an https://github.com/pitag-ha/merl-an.git | ||
|
||
RUN eval $(opam env) | ||
|
||
# create directory for projects to run benchmarks on | ||
RUN sudo mkdir /projects | ||
RUN sudo chown opam /projects | ||
WORKDIR /projects | ||
|
||
# build irmin | ||
RUN git clone https://github.com/mirage/irmin.git | ||
WORKDIR /projects/irmin | ||
RUN git checkout 8da4d16e7cc8beddfc8a824feca325426bae08a9 | ||
RUN sudo apt install -y gnuplot-x11 libgmp-dev pkg-config libffi-dev | ||
RUN opam switch import /app/bench/irmin.opam.export --no-checksums | ||
RUN opam exec -- dune build | ||
|
||
WORKDIR /app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
FROM ocaml/opam:ubuntu-20.04-ocaml-5.2 | ||
|
||
WORKDIR /app | ||
|
||
RUN sudo apt-get update | ||
RUN sudo apt-get -y install jq | ||
COPY . . | ||
RUN sudo chown -R opam /app | ||
RUN eval $(opam env) | ||
|
||
# install merlin | ||
RUN opam install . | ||
|
||
# install merl-an | ||
## cache workaround: https://github.com/ocurrent/current-bench/issues/468#issuecomment-1621030354 | ||
ADD https://api.github.com/repos/pitag-ha/merl-an/git/refs/heads/main .merl-an-info | ||
RUN opam pin -y merl-an https://github.com/pitag-ha/merl-an.git | ||
|
||
RUN eval $(opam env) | ||
|
||
# create directory for projects to run benchmarks on | ||
RUN sudo mkdir /projects | ||
RUN sudo chown opam /projects | ||
WORKDIR /projects | ||
|
||
# build irmin | ||
RUN git clone https://github.com/mirage/irmin.git | ||
WORKDIR /projects/irmin | ||
RUN git checkout 8da4d16e7cc8beddfc8a824feca325426bae08a9 | ||
RUN sudo apt install -y gnuplot-x11 libgmp-dev pkg-config libffi-dev | ||
RUN opam switch import /app/bench/irmin.opam.export --no-checksums | ||
RUN opam exec -- dune build | ||
|
||
WORKDIR /app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
(lang dune 2.9) | ||
(lang dune 3.0) | ||
(name merlin) | ||
(using menhir 2.0) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.