Skip to content

Commit 589358f

Browse files
committed
Fix #6129 Update release docs to include cabal.config updating
1 parent e0c495c commit 589358f

File tree

1 file changed

+47
-28
lines changed

1 file changed

+47
-28
lines changed

doc/maintainers/releases.md

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,18 @@ Examples:
6767
## Pre-release checks
6868

6969
1. Check for any P0 and P1 issues that should be dealt with before release.
70+
7071
2. Check for un-merged pull requests that should be merged before release.
72+
7173
3. Ensure the `release` and `stable` branches are merged to the `master`
7274
branch.
75+
7376
4. Check the copyright dates, and update if needed.
77+
7478
5. Ensure CI matrices in docs (travis-complex, appveyor, azure) have current
7579
stackage snapshots and GHC versions (e.g.
7680
https://github.com/commercialhaskell/stack/pull/4565/files)
81+
7782
6. Update the `stack-*.yaml` that uses a `nightly` snapshot to the latest
7883
nightly (go over the extra-deps too) and ensure the project builds and tests
7984
pass. For example, command:
@@ -84,6 +89,12 @@ Examples:
8489
8590
7. Ensure the integration tests pass on Linux, macOS and Windows.
8691
92+
8. Some people prefer, or need, to build Stack with Cabal (the tool). Check
93+
that `cabal.project` is up to date (the specified `with-compiler:`). Check
94+
that `cabal.config` is up to date and is not missing dependencies relevant
95+
on Windows and non-Windows operating systems, following the instructions in
96+
`cabal.project`.
97+
8798
## Release preparation
8899
89100
### A: In the `master` branch
@@ -107,19 +118,19 @@ branch.
107118
108119
### C: Return to the `master` branch
109120
110-
* `package.yaml`: bump version to the next unstable version (bump the second
111-
component to the next even number, ensure the third component is `0`; e.g.
112-
from `1.9.0` to `1.10.0`).
121+
1. `package.yaml`: bump version to the next unstable version (bump the second
122+
component to the next even number, ensure the third component is `0`; e.g.
123+
from `1.9.0` to `1.10.0`).
113124
114125
!!! attention
115126
116127
Be sure to update also `stack.cabal` (for example by using
117128
`stack build --dry-run`).
118129
119-
* `Changelog.md`:
120-
* Change the title of the existing **Unreleased changes** section to what
121-
will be the next final (non-RC) release (e.g. `v2.1.1`).
122-
* Add new "Unreleased changes" section:
130+
2. `Changelog.md`:
131+
* Change the title of the existing **Unreleased changes** section to what
132+
will be the next final (non-RC) release (e.g. `v2.1.1`).
133+
* Add new "Unreleased changes" section:
123134
124135
~~~markdown
125136
## Unreleased changes
@@ -137,6 +148,9 @@ branch.
137148
Bug fixes:
138149
~~~
139150
151+
3. `cabal.config`: Ensure the `stack` constraint is set to the same version as
152+
in the `package.yaml`.
153+
140154
### D: In the release candidate branch
141155
142156
Review documentation for any changes that need to be made:
@@ -176,51 +190,56 @@ Check for any platform entries that need to be added to (or removed from):
176190
177191
### E: For the first release candidate
178192
179-
1. Re-do the pre-release checks (see the section above).
180-
2. `package.yaml`: bump to first odd patchlevel version (e.g. `X.Y.0.1`).
193+
1. Re-do the pre-release checks (see the section above).
194+
2. `package.yaml`: bump to first odd patchlevel version (e.g. `X.Y.0.1`).
181195
182196
!!! attention
183197
184198
Be sure to update also `stack.cabal` (for example by using
185199
`stack build --dry-run`).
186200
187-
3. `ChangeLog.md`: Rename the “Unreleased changes” section to the same version
188-
as `package.yaml`, and mark it clearly as a release candidate (e.g.
189-
`vX.Y.0.1 (release candidate)`). Remove any empty sections.
190-
4. Follow the steps in the *Release process* section below that apply to a
191-
release candidate.
201+
3. `ChangeLog.md`: Rename the “Unreleased changes” section to the same version
202+
as `package.yaml`, and mark it clearly as a release candidate (e.g.
203+
`vX.Y.0.1 (release candidate)`). Remove any empty sections.
204+
4. Ensure the `stack` constraint in `cabal.config` is set to `==X.Y.0.1`.
205+
5. Follow the steps in the *Release process* section below that apply to a
206+
release candidate.
192207
193208
### F: For any subsequent release candidates
194209
195-
1. Re-do the pre-release checks (see the section above).
196-
2. `package.yaml`: bump to next odd patchlevel version (e.g. `X.Y.0.3`).
210+
1. Re-do the pre-release checks (see the section above).
211+
2. `package.yaml`: bump to next odd patchlevel version (e.g. `X.Y.0.3`).
197212
198213
!!! attention
199214
200215
Be sure to update also `stack.cabal` (for example by using
201216
`stack build --dry-run`).
202217
203-
3. `ChangeLog.md`: Rename the "Unreleased changes" section to the new version,
204-
clearly marked as a release candidate (e.g. `vX.Y.0.3 (release candidate)`).
205-
Remove any empty sections.
206-
4. Follow the steps in the *Release process* section below that apply to a
207-
release candidate.
218+
3. `ChangeLog.md`: Rename the "Unreleased changes" section to the new version,
219+
clearly marked as a release candidate (e.g. `vX.Y.0.3 (release candidate)`).
220+
Remove any empty sections.
221+
4. Ensure the `stack` constraint in `cabal.config` is set to the same version
222+
as in `package.yaml`.
223+
5. Follow the steps in the *Release process* section below that apply to a
224+
release candidate.
208225
209226
### G: For the final release
210227
211-
1. Re-do the pre-release checks (see the section above).
212-
2. `package.yaml`: bump version to odd last component and no patchlevel
213-
(e.g. from `X.Y.0.2` to `X.Y.1`).
228+
1. Re-do the pre-release checks (see the section above).
229+
2. `package.yaml`: bump version to odd last component and no patchlevel
230+
(e.g. from `X.Y.0.2` to `X.Y.1`).
214231
215232
!!! attention
216233
217234
Be sure to update also `stack.cabal` (for example by using
218235
`stack build --dry-run`).
219236
220-
3. `ChangeLog.md`: consolidate all the release candidate changes into a single
221-
section for the final release version.
222-
4. Follow all of the steps in the *Release process* section below that apply to
223-
a final release.
237+
3. `ChangeLog.md`: consolidate all the release candidate changes into a single
238+
section for the final release version.
239+
4. Ensure the `stack` constraint in `cabal.config` is set to the same version
240+
as in `package.yaml` (e.g. to `==X.Y.1`).
241+
5. Follow all of the steps in the *Release process* section below that apply to
242+
a final release.
224243
225244
## Release process
226245

0 commit comments

Comments
 (0)