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

Prepare 2.0.0.1 release (for GHC 9.6.2 and 9.2.8) #3608

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
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
1 change: 0 additions & 1 deletion .github/scripts/bindist.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ case "${TARBALL_EXT}" in
emake --version
emake GHCUP=ghcup ARTIFACT="${ARTIFACT}" GHCS="${GHCS}" bindist
emake GHCUP=ghcup ARTIFACT="${ARTIFACT}" bindist-tar
emake GHCUP=ghcup GHCS="${GHCS}" clean-ghcs
;;
*)
fail "Unknown TARBALL_EXT: ${TARBALL_EXT}"
Expand Down
18 changes: 10 additions & 8 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ["9.6.1", "9.4.5", "9.2.7", "9.0.2", "8.10.7"]
ghc: ["9.6.2", "9.4.5", "9.2.8", "9.2.7", "9.0.2", "8.10.7"]
platform: [ { image: "debian:9"
, installCmd: "sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list && sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list && sed -i /-updates/d /etc/apt/sources.list && apt-get update && apt-get install -y"
, toolRequirements: "libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
Expand Down Expand Up @@ -113,9 +113,11 @@ jobs:
platform: { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
- ghc: 9.2.7
platform: { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
- ghc: 9.2.8
platform: { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
- ghc: 9.4.5
platform: { image: "fedora:33", installCmd: "dnf install -y", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf tree", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
- ghc: 9.6.1
- ghc: 9.6.2
platform: { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
container:
image: ${{ matrix.platform.image }}
Expand Down Expand Up @@ -156,7 +158,7 @@ jobs:

build-arm:
name: Build ARM binary
runs-on: [self-hosted, Linux, ARM64, beefy]
runs-on: [self-hosted, Linux, ARM64]
env:
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
Expand All @@ -171,7 +173,7 @@ jobs:
strategy:
fail-fast: true
matrix:
ghc: ["9.6.1","9.4.5", "9.2.7", "9.0.2", "8.10.7"]
ghc: ["9.6.2", "9.2.8", "9.2.7", "9.0.2", "8.10.7"]
steps:
- uses: docker://arm64v8/ubuntu:focal
name: Cleanup (aarch64 linux)
Expand Down Expand Up @@ -226,7 +228,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ["9.6.1", "9.4.5", "9.2.7", "9.0.2", "8.10.7"]
ghc: ["9.6.2", "9.4.5", "9.2.8", "9.2.7", "9.0.2", "8.10.7"]
steps:
- name: Checkout code
uses: actions/checkout@v3
Expand Down Expand Up @@ -266,7 +268,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ["9.6.1", "9.4.5", "9.2.7", "8.10.7"]
ghc: ["9.6.2", "9.4.5", "9.2.8", "9.2.7", "8.10.7"]
steps:
- name: Checkout code
uses: actions/checkout@v3
Expand Down Expand Up @@ -315,7 +317,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ["9.6.1", "9.4.5", "9.2.7", "9.0.2", "8.10.7"]
ghc: ["9.6.2", "9.4.5", "9.2.8", "9.2.7", "9.0.2", "8.10.7"]
steps:
- name: install windows deps
shell: pwsh
Expand Down Expand Up @@ -350,7 +352,7 @@ jobs:

bindist-linux:
name: Tar linux bindists (linux)
runs-on: ubuntu-latest
runs-on: [self-hosted, linux-space]
needs: ["build-linux"]
env:
TARBALL_EXT: tar.xz
Expand Down
15 changes: 10 additions & 5 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog for haskell-language-server

## 2.0.0.1

- Add overloaded record dot plugin intial version (closes #3350) (#3560)
- Binaries for GHC 9.2.8 and GHC 9.6.2

## 2.0.0.0

- New versioning scheme for all packages distributed as part of HLS,
Expand Down Expand Up @@ -95,7 +100,7 @@
([#3411](https://github.com/haskell/haskell-language-server/pull/3411)) by @pepeiborra
- Support fourmolu 0.10
([#3410](https://github.com/haskell/haskell-language-server/pull/3410)) by @brandonchinn178
- Fix nix build CI
- Fix nix build CI
([#3404](https://github.com/haskell/haskell-language-server/pull/3404)) by @wavewave
- Fix fourmolu with -f-fixity-th in nix env
([#3400](https://github.com/haskell/haskell-language-server/pull/3400)) by @wavewave
Expand Down Expand Up @@ -145,7 +150,7 @@
([#3339](https://github.com/haskell/haskell-language-server/pull/3339)) by @santiweight
- Add hls-cabal-fmt-plugin to hackage release CI script and HLS library
([#3335](https://github.com/haskell/haskell-language-server/pull/3335)) by @fendor
- Ensure at least 1 capability
- Ensure at least 1 capability
([#3334](https://github.com/haskell/haskell-language-server/pull/3334)) by @pepeiborra
- Add support for Fourmolu 0.9
([#3331](https://github.com/haskell/haskell-language-server/pull/3331)) by @brandonchinn178
Expand Down Expand Up @@ -324,7 +329,7 @@
- Initial support for GHC 9.4 with binaries for GHC 9.4.1 and GHC 9.4.2
- Startup time and performance improvements on projects using Template Haskell by serializing intermediate core (#2813)
- Memory usage improvements due to using a packed representation for filepaths (#3067, @kokobd)
- Improvements for hls-class-plugin (#2920, @July541)
- Improvements for hls-class-plugin (#2920, @July541)
- The new hls-gadt-plugin (#2899, @July541)
- Moving code actions from ghcide to the new hls-refactor-plugin (#3091, @wz1000)
- Many more improvements and bug fixes thanks to our contributors!
Expand Down Expand Up @@ -549,7 +554,7 @@
([#2873](https://github.com/haskell/haskell-language-server/pull/2873)) by @pepeiborra
- Expand input to pragma if available
([#2871](https://github.com/haskell/haskell-language-server/pull/2871)) by @July541
- Fix hanging redundant import on Unicode function
- Fix hanging redundant import on Unicode function
([#2870](https://github.com/haskell/haskell-language-server/pull/2870)) by @drsooch
- Compatibility with older aeson releases
([#2868](https://github.com/haskell/haskell-language-server/pull/2868)) by @pepeiborra
Expand Down Expand Up @@ -754,7 +759,7 @@
- Improve logging
([#2558](https://github.com/haskell/haskell-language-server/pull/2558)) by @eddiemundo
- Improve recompilation avoidance in the presence of TH
([#2316](https://github.com/haskell/haskell-language-server/pull/2316)) by @wz1000
([#2316](https://github.com/haskell/haskell-language-server/pull/2316)) by @wz1000

## 1.6.1.1 (*only hackage release*)

Expand Down
7 changes: 5 additions & 2 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ CP := cp
# by default don't run ghcup
GHCUP ?= echo
GHCUP_GC ?= $(GHCUP) gc
GHCUP_RM ?= $(GHCUP) rm

CABAL_CACHE_BIN ?= echo

Expand Down Expand Up @@ -87,7 +88,8 @@ hls:
for ghc in $(GHCS) ; do \
$(GHCUP) install ghc `echo $$ghc` && \
$(GHCUP_GC) -p -s -c -t && \
$(MAKE) GHC_VERSION=`echo $$ghc` hls-ghc || exit 1 ; \
$(MAKE) GHC_VERSION=`echo $$ghc` hls-ghc || exit 1 && \
$(GHCUP_RM) `echo $$ghc` ; \
done

hls-ghc:
Expand All @@ -108,7 +110,8 @@ bindist:
for ghc in $(GHCS) ; do \
$(GHCUP) install ghc `echo $$ghc` && \
$(GHCUP_GC) -p -s -c -t && \
$(MAKE) GHC_VERSION=`echo $$ghc` bindist-ghc || exit 1 ; \
$(MAKE) GHC_VERSION=`echo $$ghc` bindist-ghc || exit 1 && \
$(GHCUP_RM) `echo $$ghc` ; \
done
$(SED) -e "s/@@HLS_VERSION@@/$(HLS_VERSION)/" \
bindist/GNUmakefile.in > "$(BINDIST_OUT_DIR)/GNUmakefile"
Expand Down
30 changes: 30 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Releasing

## Release checklist

- [ ] check ghcup supports new GHC releases if any
Comment on lines +1 to +5
Copy link
Collaborator

@fendor fendor Jun 28, 2023

Choose a reason for hiding this comment

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

I appreciate this list a lot, but there seems to be a big overlap with https://github.com/haskell/haskell-language-server/blob/master/docs/contributing/releases.md

- [ ] set the supported GHCs in workflow file `.github/workflows/release.yaml`
- [ ] check all plugins still work if release includes code changes
- [ ] bump package versions in all `*.cabal` files (same version as hls)
- [ ] generate and update changelog
- [ ] create release branch as `wip/<version>`
- [ ] create release tag as `<version>`
- [ ] trigger release pipeline by pushing the tag
- this creates a draft release
- [ ] run `sh scripts/release/download-gh-artifacts <version> <your-gpg-email>`
- downloads artifacts to `gh-release-artifacts/<version>/`
- also downloads FreeBSD bindist from circle CI
- adds signatures
- [ ] upload artifacts to downloads.haskell.org manually from `gh-release-artifacts/<version>/`
- [ ] create PR to [ghcup-metadata](https://github.com/haskell/ghcup-metadata)
- [ ] update `ghcup-0.0.7.yaml` and `ghcup-vanilla-0.0.7.yaml`
- can use `sh scripts/release/create-yaml-snippet.sh <version>` to generate a snippet that can be manually inserted into the yaml files
- [ ] update `hls-metadata-0.0.1.json`
- utilize `cabal run ghcup-gen -- generate-hls-ghcs -f ghcup-0.0.7.yaml --format json --stdout` in the root of ghcup-metadata repository
- [ ] get sign-off on release
- from wz1000, michealpj, maerwald and fendor
- [ ] publish release on github
- [ ] upload hackage packages
- requires credentials
- [ ] update https://haskell-language-server.readthedocs.io/en/latest/support/ghc-version-support.html#current-ghc-version-support-status
- [ ] post release on discourse and reddit
2 changes: 1 addition & 1 deletion ghcide-bench/ghcide-bench.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cabal-version: 3.0
build-type: Simple
category: Development
name: ghcide-bench
version: 2.0.0.0
version: 2.0.0.1
license: Apache-2.0
license-file: LICENSE
author: The Haskell IDE team
Expand Down
6 changes: 3 additions & 3 deletions ghcide/ghcide.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cabal-version: 3.0
build-type: Simple
category: Development
name: ghcide
version: 2.0.0.0
version: 2.0.0.1
license: Apache-2.0
license-file: LICENSE
author: Digital Asset and Ghcide contributors
Expand Down Expand Up @@ -65,7 +65,7 @@ library
haddock-library >= 1.8 && < 1.12,
hashable,
hie-compat ^>= 0.3.0.0,
hls-plugin-api == 2.0.0.0,
hls-plugin-api == 2.0.0.1,
lens,
list-t,
hiedb == 0.4.3.*,
Expand All @@ -80,7 +80,7 @@ library
regex-tdfa >= 1.3.1.0,
text-rope,
safe-exceptions,
hls-graph == 2.0.0.0,
hls-graph == 2.0.0.1,
sorted-list,
sqlite-simple,
stm,
Expand Down
Loading