summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/HACKING.md
diff options
context:
space:
mode:
author(cdep)illabout <cdep.illabout@gmail.com>2021-05-30 13:31:29 +0900
committer(cdep)illabout <cdep.illabout@gmail.com>2021-05-30 13:31:29 +0900
commitadfec8b5e043dec328a4aaea9f5a43cc3ea0029f (patch)
tree2d951c15f2c5aa5370cf8cedbec37ca8b40cb752 /pkgs/development/haskell-modules/HACKING.md
parent6b80742d4da3b4272a781de647dc3fb90d0b645e (diff)
downloadnixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.tar
nixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.tar.gz
nixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.tar.bz2
nixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.tar.lz
nixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.tar.xz
nixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.tar.zst
nixpkgs-adfec8b5e043dec328a4aaea9f5a43cc3ea0029f.zip
haskell-updates: update workflow documentation to expand section on merging master into haskell-updates
Diffstat (limited to 'pkgs/development/haskell-modules/HACKING.md')
-rw-r--r--pkgs/development/haskell-modules/HACKING.md57
1 files changed, 30 insertions, 27 deletions
diff --git a/pkgs/development/haskell-modules/HACKING.md b/pkgs/development/haskell-modules/HACKING.md
index 83aab30a302..02085bdd806 100644
--- a/pkgs/development/haskell-modules/HACKING.md
+++ b/pkgs/development/haskell-modules/HACKING.md
@@ -176,18 +176,42 @@ following will happen:
 
 -   All updated files will be committed.
 
+#### Merge `master` into `haskell-updates`
+
+You should occasionally merge the `master` branch into the `haskell-updates`
+branch.
+
+In an ideal world, when we merge `haskell-updates` into `master`, it would
+cause few Hydra rebuilds on `master`.  Ideally, the `nixos-unstable` channel
+would never be prevented from progressing because of needing to wait for
+rebuilding Haskell packages.
+
+In order to make sure that there are a minimal number of rebuilds after merging
+`haskell-updates` into `master`, `master` should occasionally be merged into
+the `haskell-updates` branch.
+
+This is especially important after `staging-next` is merged into `master`,
+since there is a high chance that this will cause all the Haskell packages to
+rebuild.
+
 ### Merge `haskell-updates` into `master`
 
 Now it is time to merge the `haskell-updates` PR you opened above.
 
 Before doing this, make sure of the following:
 
-- All Haskell packages that fail to build are correctly marked broken or
-  transitively broken.
-- The `maintained` and `mergeable` jobs are passing on Hydra.
-- The maintainers for any maintained Haskell packages that are newly broken
-  have been pinged on GitHub and given at least a week to fix their packages.
-  This is especially important for widely-used packages like `cachix`.
+-   All Haskell packages that fail to build are correctly marked broken or
+    transitively broken.
+
+-   The `maintained` and `mergeable` jobs are passing on Hydra.
+
+-   The maintainers for any maintained Haskell packages that are newly broken
+    have been pinged on GitHub and given at least a week to fix their packages.
+    This is especially important for widely-used packages like `cachix`.
+
+-   Make sure you first merge the `master` branch into `haskell-updates`.  Wait
+    for Hydra to evaluate the new `haskell-updates` jobset.  Make sure you only
+    merge `haskell-updates` into `master` when there are no evaluation errors.
 
 When you've double-checked these points, go ahead and merge the `haskell-updates` PR.
 After merging, **make sure not to delete the `haskell-updates` branch**, since it
@@ -200,27 +224,6 @@ Here are some additional tips that didn't fit in above.
 -   It is possible to start a new Hydra evaluation by logging into Hydra with
     your GitHub or Google account.
 
--   You should occasionally merge the `master` branch into the
-    `haskell-updates` branch.
-
-    In an ideal world, when we merge `haskell-updates` into `master`, it would
-    cause few Hydra rebuilds on `master`.  Ideally, the `nixos-unstable`
-    channel would never be prevented from progressing because of needing to
-    wait for rebuilding Haskell packages.
-
-    In order to make sure that there are a minimal number of rebuilds after
-    merging `haskell-updates` into `master`, `master` should occasionally be
-    merged into the `haskell-updates` branch.
-
-    This is especially important after `staging-next` is merged into `master`, since
-    there is a high chance that this will cause all the Haskell packages to
-    rebuild.
-
-    However, as we are working on cleaning up `haskell-updates`, `master` will
-    continually progress.  It may not always be possible to keep the
-    `haskell-updates` branch fully up-to-date with `master` without causing
-    mass-rebuilds on the `haskell-updates` jobset.
-
 -   Make sure never to update the Hackage package hashes in
     [`pkgs/data/misc/hackage/`](../../../pkgs/data/misc/hackage/), or the
     pinned Stackage Nightly versions on the release branches (like