Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new draft to help with the release #1519

Merged
merged 1 commit into from
May 17, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 36 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## Tips on making a new release for MirageOS

This document aims to streamline the release process for
MirageOS. It's a living document, evolving with each
release. Contributions to enhance this guide are highly encouraged!

## Before the release

- Check that `let min = "xxx" and max = "yyy" in` `lib/mirage.ml`
is a range that contains the new release number.
- Rename `## Unreleased` to `## vXXX (YYY-MM-DD)` in CHANGES.md. Open a
Pull Request (PR) with these changes to begin the release process.

and open a PR

### Release `mirage` and `mirage-runtime` to opam-repository

- Tag with `dune-release tag`
- Release to opam-repository with `dune-release`
- Backport packaging fixes in the repo (usually lower-bounds).
Ideally this should be done before submitting to opam-repository but
right now it's not super convenient to do so.

### Update `mirage-skeleton`

- Verify that all changes in the main branch are correctly ported to
the dev branch and vice versa. This step ensures that both branches
reflect the latest, stable changes.
- When complete, force-push dev to become the new main, solidifying
these updates.

### Update `mirage-www`

- Confirm that the MirageOS website builds successfully with the newly
released version. To facilitate this, update the `mirageio.opam.template`
pins to test against the new version ahead of the official release.