|
| 1 | +# Releasing |
| 2 | + |
| 3 | +## Release checklist |
| 4 | + |
| 5 | +-[ ] check ghcup supports new GHC releases if any |
| 6 | +-[ ] set the supported GHCs in workflow file `.github/workflows/release.yaml` |
| 7 | +-[ ] check all plugins still work if release includes code changes |
| 8 | +-[ ] bump package versions in all `*.cabal` files (same version as hls) |
| 9 | +-[ ] generate and update changelog |
| 10 | +-[ ] create release branch as `wip/<version>` |
| 11 | +-[ ] create release tag as `<version>` |
| 12 | +-[ ] trigger release pipeline by pushing the tag |
| 13 | +- this creates a draft release |
| 14 | +-[ ] run `sh scripts/release/download-gh-artifacts <version> <your-gpg-email>` |
| 15 | +- downloads artifacts to `gh-release-artifacts/<version>/` |
| 16 | +- also downloads FreeBSD bindist from circle CI |
| 17 | +- adds signatures |
| 18 | +-[ ] upload artifacts to downloads.haskell.org manually from `gh-release-artifacts/<version>/` |
| 19 | +-[ ] create PR to [ghcup-metadata](https://github.com/haskell/ghcup-metadata) |
| 20 | +- can use `sh scripts/release/create-yaml-snippet.sh <version>` to generate a snippet that can be manually inserted into the yaml files |
| 21 | +-[ ] update `ghcup-0.0.7.yaml` |
| 22 | +-[ ] update `ghcup-vanilla-0.0.7.yaml` |
| 23 | +-[ ] update `hls-metadata-0.0.1.json` via `cabal run ghcup-gen -- generate-hls-ghcs -f ghcup-0.0.7.yaml --format json --stdout` in the root of ghcup-metadata repository |
| 24 | +-[ ] get sign-off on release |
| 25 | +- from wz1000, michealpj, maerwald and fendor |
| 26 | +-[ ] publish release on github |
| 27 | +-[ ] upload hackage packages |
| 28 | +- requires credentials |
| 29 | +-[ ] update https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html#current-ghc-version-support-status |
| 30 | +-[ ] post release on discourse and reddit |
0 commit comments