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

haskell: document branch-off procedure for maintainers #138831

Draft
wants to merge 1 commit into
base: haskell-updates
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions pkgs/development/haskell-modules/HACKING.md
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,42 @@ version in NixOS for every individual package. To do this you run
script for how to provide credentials. Once you have configured credentials,
running this takes only a few seconds.

## Things to do after branch-off

Twice a year a stable release branch is branched off from `master` to form
a stable NixOS release. These releases don't benefit from our regular
`haskell-updates` workflow since they *forbid breaking changes* which
becomes unfeasible to manage at the scale of our package set. Instead
we mostly rely on stable users spotting needed changes and proposing
them as a PR.

General information on the release process can be found in the
[NixOS Releaes Wiki](https://nixos.github.io/release-wiki/Release-Process-Walkthrough.html).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[NixOS Releaes Wiki](https://nixos.github.io/release-wiki/Release-Process-Walkthrough.html).
[NixOS Release Wiki](https://nixos.github.io/release-wiki/Release-Process-Walkthrough.html).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[NixOS Releaes Wiki](https://nixos.github.io/release-wiki/Release-Process-Walkthrough.html).
[NixOS Release Wiki](https://nixos.github.io/release-wiki/Release-Process.html).


The main objective for `haskellPackages` in the context of stable release
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The main objective for `haskellPackages` in the context of stable release
The main objective for `haskellPackages` in the context of stable NixOS

should be supporting packaged “end-user” software (pandoc, niv, ...), so
Haskell maintainers should look out for changes to these packages and
consider backporting them (especially bug fix and security-related releases).
For a stable `haskellPackages` experience for development etc., a pinned
revision of nixpkgs `master` is recommended.

The following is a list of things to do and/or consider at branch-off:

* On `master` and the release branch, update the `NEXT_NIXOS_RELEASE`
variable in `maintainers/scripts/haskell/regenerate-hackage-packages.sh`:
This value should always be the same as what the `.version` file at the
repository root of the `master` branch contains.
Comment on lines +298 to +301
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This variable doesn't exist in that file anymore.


* On the release branch, run `maintainers/scripts/haskell/freeze-packages.sh`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This script doesn't exist anymore?

and delete `pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml`
which is no longer needed.

* Make sure `maintainers/scripts/haskell/regenerate-hackage-packages.sh` works correctly.

* Make sure the references to the stable release in the documentation are accurate.

* Document any steps forgotten here!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any more ideas by now?


## Additional Info

Here are some additional tips that didn't fit in above.
Expand Down