-
Notifications
You must be signed in to change notification settings - Fork 42
Release checklist
NOTE: Since the move to Dune, the release checklist has changed. New one below!
- Build Links, i.e.
make build-release-all
should succeed without errors. - Complete the Pre-release sanity checking
- Install
dune-release
, i.e.opam install dune-release
. - Fork and clone https://github.com/ocaml/opam-repository.
At the time of writing our repository contains five packages: links
, links-mysql
links-sqlite3
, and links-postgresql
. The other four packages must be released simultaneously.
The bundling and publishing of packages targeted for release are automated. If you want to understand the automated steps, or want to produce the steps by hand, then you can inspect the rule opam-release
in the file Makefile
to learn the exact sequence of commands.
- Go to the root of the Links repository.
- Update
CHANGES.md
with the new version. Please follow the existing format exactly. - Type
make opam-release
to start the interactive release process. The following is a brief guide for Links maintainers to achieve full marks on the release quiz.
-
[?] Create git tag X.Y.Z for HEAD? [Y/n]
answerY
. -
[?] Push tag X.Y.Z to [email protected]:links-lang/links.git? [Y/n]
answerY
. -
[?] Create release X.Y.Z on [email protected]:links-lang/links.git? [Y/n]
answerY
. -
[?] Upload _build/links-X.Y.Z.tbz as release asset? [Y/n]
answerY
. - Now the interactive process might ask you for your GitHub details
It is important that you use YOUR OWN GitHub account name, so type that in and press enter. Next it may ask you to specify your fork of
What is your GitHub ID? [press ENTER to use 'links-lang']
opam-repository
Chances are that the default guess is correct. Next it might ask you to specify the location of your local clone of the fork.What is your fork of ocaml/opam-repository? (you should have write access). [press ENTER to use '[email protected]:YOUR_GITHUB_ACCOUNT/opam-repository']
Chances are that the default guess is incorrect, if so, type in the path to your local clone.Where on your filesystem did you clone that repository? [press ENTER to use '/home/$USER/git/opam-repository']
-
[?] Open PR to ocaml/opam-repository? [Y/n]
answerY
.
- Wait for your pull request to get merged.
- Announce the new release on links-users and links-dev.
- Bump version number in
basicsettings.ml
(REPL header) - Bump the advertised version number on the website (https://github.com/links-lang/links-lang.github.io)
- Celebrate!
(Please update this with any issues you find. Thanks!)
warning 41: Some packages are mentioned in package scripts of features, but there is no dependency or depopt toward them: "links"
No idea how to fix this; it seems benign anyway, so safe to ignore unless the opam maintainers want it fixed.
For some reason, odoc doesn't like our codebase at the moment. My guess is the outdated preprocessing stuff. In any case, at the moment ensure you're running dune-release publish distrib
instead of just dune-release publish
.
Ensure that the homepage
field is set to a GitHub URL.
Take a deep breath, have a stiff drink, and prepare for an adventure.