Step-by-step guide to creating and publishing a new release.
-
Check that file headers are up-to-date
-
Update version numbers in dune-project and src/index.mld
-
Fill in the changelog, it should start with
# vX.Y.Z - YYYY-MM-DD - bullet list of changes # <older versions>
-
Create a new tag for the release:
dune-release tag
This should auto-create a tag
vX.Y.Z
(name read from the CHANGELOG) -
Push the new tag to Github:
git push origin vX.Y.Z
Check that github-action succeeds (build, tests and documentation). It should create a new folder
vX.Y.Z
on thegh-pages
branch. -
On the codex-semantics-library.github.io repository:
- update the
patricia-tree.latest-version
field in_data/packages.yaml
- update the
api/patricia-tree.md
page to add a link to the new version. - run
dune build @doc-json
, copy the json files from<this repo>/_build/default/_doc/html/patricia-tree
to<website>/_data/api/patricia-tree/vX__Y__Z
(note the__
instead of.
), also copy thedb.js
file to<website>/assets/js/sherlodoc-db/patricia-tree.X.Y.Z.js
- update the
-
Run:
dune-release publish distrib
This will create a new Github release, it requires a Github Access Token.
-
Run:
dune-release opam pkg
To prepare the package for an opam release
-
Run:
dune-release opam submit
This will create a PR to opam-repository to publish the new version. It requires a locally cloned fork of opam-repository.