... | ... | @@ -3,6 +3,7 @@ This page summarises the state of play of GHC's release engineering efforts. |
|
|
## Release practices
|
|
|
|
|
|
Each GHC release has an associated Gitlab
|
|
|
|
|
|
* **Milestone**, denoted by the `%` sigil; example %9.8.1. The milestone carries information such as which issues we are expecting to address in the release and the **release schedule**.
|
|
|
* **Tracking ticket**, an issue, denoted by the `#` sigil, bearing the ~"T::release tracking" label; example #23563. The tracking ticket contains internal bookkeeping and a chronological account of the current status of the release.
|
|
|
|
... | ... | @@ -12,11 +13,14 @@ GHC releases fall into two categories: |
|
|
* A **minor release**, with a version `N.M.2`, `N.M.3` etc, contains (only) bug-fixes to the major release.
|
|
|
|
|
|
Major releases are currently produced twice a year. The schedule for a major release looks like this:
|
|
|
|
|
|
* **Fork**: a branch in the repository is created, named for the release, e.g. `ghc-9.8`
|
|
|
* **Alpha releases**: a series of pre-releases, called `alpha 1`, `alpha 2`, etc, allow GHC's developers and users to test the release. This prerelease window typically lasts three months.
|
|
|
* **Alpha releases**: a series of pre-releases, called `alpha 1`, `alpha 2`, etc, allow GHC's developers and users to test the release. This prerelease window typically lasts three months, with an alpha every two-to-three weeks, resulting in four or five alphas.
|
|
|
* **Release candidate** is a release is supposed to be ready to go. Sometimes there is a quick succession of release candidates as minor glitches are fixed called `RC1`, `RC2`, etc.
|
|
|
* **Final release**.
|
|
|
|
|
|
We generally strive to have core libraries (`base`) stabilized by alpha 2 or 3.
|
|
|
|
|
|
Minor releases generally occur on an as-needed basis without a pre-determined schedule. But once we have decided to make a minor release, we post the schedule on the milestone. Unlike major releases, minor releases do not have an associated set of pre-releases.
|
|
|
|
|
|
|
... | ... | |