You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/install_and_upgrade.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -250,7 +250,7 @@ or:
250
250
251
251
* Ensure you have required system dependencies installed. These include GCC, GNU make, xz, perl, libgmp, libffi, and zlib. We also recommend Git and GPG. To install these using your package manager:
Copy file name to clipboardExpand all lines: doc/maintainers/releases.md
+39-12Lines changed: 39 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,13 +84,13 @@ Examples:
84
84
* Search for old Stack version, unstable stack version, and the next
85
85
"obvious" possible versions in sequence, and
86
86
`UNRELEASED` and replace with next release version (`X.Y.1`, where Y is odd).
87
-
* Do **NOT** update the Dockerfiles in [stackage/automated/dockerfiles](https://github.com/commercialhaskell/stackage/tree/master/automated/dockerfiles/) yet; that will come later)
88
-
* Do __NOT__ update templates in `.github` to point at the new release version yet!
87
+
* Do **NOT** update the Dockerfiles in [stackage/automated/dockerfiles](https://github.com/commercialhaskell/stackage/tree/master/automated/dockerfiles/) yet; that will come later)
88
+
* Do **NOT** update templates in `.github` to point at the new release version yet!
89
89
* Search for old resolvers, set to latest resolver (e.g. in `doc/GUIDE.md` where it references the "currently the latest LTS")
90
90
* Look for any links to "latest" (`latest/`) documentation, replace with version tag
91
91
* Check that for any platform entries that need to be added to (or removed from)
[install_and_upgrade.md](https://github.com/commercialhaskell/stack/blob/master/doc/install_and_upgrade.md), [get-stack.sh](https://github.com/commercialhaskell/stack/blob/master/etc/scripts/get-stack.sh), and [doc/README.md](https://github.com/commercialhaskell/stack/blob/master/doc/README.md).
93
+
[install_and_upgrade.md](https://github.com/commercialhaskell/stack/blob/master/doc/install_and_upgrade.md), [get-stack.sh](https://github.com/commercialhaskell/stack/blob/master/etc/scripts/get-stack.sh), and [doc/README.md](https://github.com/commercialhaskell/stack/blob/master/doc/README.md), and get.haskellstack.org redirects.
94
94
* `package.yaml`: bump to next release candidate version (bump patchlevel (fourth) component to next odd number; e.g. from `1.9.0.0` to `1.9.0.1`)
95
95
* `ChangeLog.md`
96
96
- Rename the “Unreleased changes” section to the same version as package.yaml, and mark it clearly as a release candidate (e.g. `v1.9.0.1 (release candidate)`). Remove any empty sections.
@@ -114,13 +114,17 @@ Examples:
114
114
115
115
## Release process
116
116
117
-
* Manually trigger the nightly pipeline on Azure Devops for the branch you are releasing, which will build Linux, macOS, and Windows bindists. `[RC]`
117
+
* Trigger the **Integration Tests** workflow on Github Actions for the branch you are releasing, which will build Linux, macOS, and Windows bindists. `[RC]`
with tag and title `vX.Y.Z` (where X.Y.Z matches the version in `package.yaml` from the previous step), targeting the RC branch. In the case of a release candidate, add `(RELEASE CANDIDATE)` to the name field and check the *This is a pre-release* checkbox. `[RC]`
122
+
* See previous releases for example formatting and extra info (such as link to website for install instructions).
123
+
* For release candidates, you should **skip** the list of contributors and the link to the installation instructions.
124
+
* Include the Changelog in the description.
125
+
* Use e.g. `git shortlog -s origin/release..HEAD|sed $'s/^[0-9 \t]*/* /'|grep -v azure-pipelines|LC_ALL=C sort -f` to get the list of contributors.
122
126
123
-
* On each machine you'll be releasing from, set environment variables `GITHUB_AUTHORIZATION_TOKEN` and `STACK_RELEASE_GPG_KEY` (see [stack-release-script's README](https://github.com/commercialhaskell/stack/blob/master/etc/scripts/README.md#prerequisites)). `[RC]`
127
+
* On the machine you'll be releasing from, set environment variables `GITHUB_AUTHORIZATION_TOKEN` and `STACK_RELEASE_GPG_KEY` (see [stack-release-script's README](https://github.com/commercialhaskell/stack/blob/master/etc/scripts/README.md#prerequisites)). `[RC]`
124
128
125
129
* Upload the Azure bindists built by Azure Pipelines to the Gitlab release `[RC]`
126
130
* Download the bindist artifacts from the Azure DevOps nightly pipeline build, and put the contents under `_release/`.
* Publish Github release. Include the Changelog and in the description and use e.g. `git shortlog -s origin/release..HEAD|sed $'s/^[0-9 \t]*/* /'|grep -v azure-pipelines|LC_ALL=C sort -f` to get the list of contributors. See previous releases for example formatting and extra info (such as link to website for install instructions). `[RC]`
141
-
142
-
* For release candidates, you should skip the list of contributors and the link to the installation instructions.
146
+
* Publish the Github release. `[RC]`
143
147
144
148
* Push signed Git tag, matching Github release tag name, e.g.: `git tag -d vX.Y.Z; git tag -s -m vX.Y.Z vX.Y.Z && git push -f origin vX.Y.Z`. `[RC]`
145
149
146
150
* Upload `stack` package to Hackage: `stack upload . --pvp-bounds=lower`.
147
151
152
+
* If you get the error
153
+
154
+
> The field "build-tools" is deprecated in the Cabal specification version 2.0. Please use 'build-tool-depends' field
155
+
156
+
then edit `stack.cabal` locally and change all instances of
157
+
158
+
```
159
+
build-tools:
160
+
hsc2hs
161
+
```
162
+
163
+
to
164
+
165
+
```
166
+
build-tool-depends:
167
+
hsc2hs:hsc2hs
168
+
```
169
+
170
+
and try again, then discard the local changes to `stack.cabal`.
171
+
172
+
Hopefully this issue will be resolved and we can remove this instruction (alternatively, we could use a `verbatim` field in `package.yaml`).
173
+
148
174
* Reset the `release` branch to the released commit, e.g.: `git checkout release && git merge --ff-only vX.Y.Z && git push origin release`
149
175
150
176
* Update the `stable` branch similarly
@@ -153,7 +179,7 @@ Examples:
153
179
[readthedocs.org](https://readthedocs.org/projects/stack/versions/), and
154
180
ensure that stable documentation has updated.
155
181
156
-
* Update [get.haskellstack.org /stable rewrite rules](https://gitlab.com/fpco/operations/devops/-/blob/master/kubernetes/fpco-prod-v3/specs/20_get-haskellstack_ingress.yaml) and apply the manifest.
182
+
* Update [get.haskellstack.org /stable and /upgrade rewrite rules](https://gitlab.com/fpco/operations/kube/fpcomplete-sites-project/-/blob/master/fpcomplete-redirects/get-haskellstack_virtualservice.yaml) with the new version and [sync the application in ArgoCD](https://v4.fpcomplete.com/argo-cd/applications/fpcomplete-redirects).
157
183
158
184
* Test with `curl -vL https://get.haskellstack.org/stable/linux-x86_64.tar.gz >/dev/null`, make sure it redirects to the new version
159
185
@@ -186,13 +212,13 @@ Examples:
186
212
* Merge any changes made in the RC/release/stable branches to master (be careful about version and changelog). It is best to do this by making a `ci/merge-stable-to-master` branch and waiting for CI to pass, then merging. If anything is complicated to merge, consider making it a PR and getting it reviewed rather than merging immediately.
[email protected] mailing lists, subject `ANN: stack-X.Y.Z` (or `ANN: stack-X.Y release candidate`), containing the markdown for the release description from Github. `[RC]`
215
+
[email protected] mailing lists, subject `ANN: stack-X.Y.Z` (or `ANN: stack-X.Y release candidate`), containing the release description from Github. `[RC]`
190
216
191
217
* For release candidates, also include a link to the Github Release (`https://github.com/commercialhaskell/stack/releases/tag/vX.Y.Z`) to download it. `[RC]`
192
218
193
219
* Update fpco/stack-build Docker images with new version
194
220
195
-
* Under [commercilhaskell/stackage/automated/dockerfiles](https://github.com/commercialhaskell/stackage/tree/master/automated/dockerfiles/), add `lts-X.Y/Dockerfile` (where `X.Y` is the latest stackage LTS version), containing (note where X.Z is the previous LTS version, and X.Y.Z is the newly released stack version)
221
+
* Under [commercialhaskell/stackage/automated/dockerfiles](https://github.com/commercialhaskell/stackage/tree/master/automated/dockerfiles/), add `lts-X.Y/Dockerfile` (where `X.Y` is the latest stackage LTS version), containing (note where X.Z is the previous LTS version, and X.Y.Z is the newly released stack version)
196
222
197
223
```
198
224
FROM $DOCKER_REPO:lts-X.Z
@@ -204,9 +230,10 @@ Examples:
204
230
205
231
* Run `./build.sh --push lts-X.Y && ./build.sh --push --small lts-X.Y` to push the new image to the registry.
206
232
233
+
207
234
## Build Linux static binary distribution with Nix
208
235
209
-
NOTE: We have switched back to Alpine Linux for building static binaries, done by CI.
236
+
**NOTE: We have switched back to Alpine Linux for building static binaries, done by CI. Leaving this section for future reference.**
210
237
211
238
These instructions are tested on Ubuntu 16.04, but theoretically should work on any Linux distribution.
0 commit comments