Skip to content

Release 2.3.0.0#3818

Merged
mergify[bot] merged 7 commits into
masterfrom
wip/2.3.0.0
Oct 6, 2023
Merged

Release 2.3.0.0#3818
mergify[bot] merged 7 commits into
masterfrom
wip/2.3.0.0

Conversation

@wz1000

@wz1000 wz1000 commented Sep 27, 2023

Copy link
Copy Markdown
Collaborator
  • Prepare release 2.3.0.0
  • Switch darwin release CI to nix

Checklist

  • check ghcup supports new GHC releases if any
  • set the supported GHCs in workflow file .github/workflows/release.yaml
    • There is currently a list of GHC versions for each major platform. Search for ghc: [ to find all lists.
    • Look for TODO: to find locations that require extra care for GHC versions.
  • check all plugins still work if release includes code changes
  • bump package versions in all *.cabal files (same version as hls)
    • HLS uses lockstep versioning. The core packages and all plugins use the same version number, and only support exactly this version.
      • Exceptions:
        • hie-compat requires no automatic version bump.
        • shake-bench is an internal testing tool, not exposed to the outside world. Thus, no version bump required for releases.
    • For updating cabal files, the following script can be used:
      • # Update all `version:` fields
        sed -ri "s/^version:( +)2.2.0.0/version:\12.3.0.0/" **/*.cabal
        # Update all constraints expected to be in the form `== <version>`.
        # We usually don't force an exact version, so this is relatively unambiguous.
        # We could introduce some more ad-hoc parsing, if there is still ambiguity.
        sed -ri "s/== 2.2.0.0/== 2.3.0.0/" **/*.cabal
      • It still requires manual verification and review
  • generate and update changelog
  • create release branch as wip/<version>
    • git switch -c wip/<version>
  • create release tag as <version>
    • git tag <version>
  • trigger release pipeline by pushing the tag
    • this creates a draft release
    • git push <remote> <version>
  • run sh scripts/release/download-gh-artifacts.sh <version> <your-gpg-email>
    • downloads artifacts to gh-release-artifacts/haskell-language-server-<version>/
    • also downloads FreeBSD bindist from circle CI
    • adds signatures
  • upload artifacts to downloads.haskell.org from gh-release-artifacts/haskell-language-server-<version>/
    • You require sftp access, contact wz1000, bgamari or chreekat
    • cd gh-release-artifacts/haskell-language-server-<version>
    • SIGNING_KEY=... ../../release/upload.sh upload
      • Your SIGNING_KEY can be obtained with gpg --list-secret-keys --keyid-format=long
    • Afterwards, the artifacts are available at: https://downloads.haskell.org/~hls/haskell-language-server-<version>/
    • Run SIGNING_KEY=... ../../release/upload.sh purge_all to remove CDN caches
  • create PR to 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
    • Be sure to mark the correct latest version and add the 'recommended' tag to the latest release.
  • 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
  • Supported tools table needs to be updated:
  • post release on discourse and reddit
  • merge release PR to master or forward port relevant changes

@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive
@wz1000
wz1000 temporarily deployed to CI September 27, 2023 13:01 — with GitHub Actions Inactive

@fendor fendor left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Cabal and cabal-fmt plugin look good to me.

@konn konn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Splice Plugin LGTM 👍

@wz1000

wz1000 commented Sep 28, 2023

Copy link
Copy Markdown
Collaborator Author

Dropping the darwin nix CI changes because nix doesn't seem to be available on the aarch64 darwin runners. I will try to reach @angerman to figure this out, but in the interests of getting this release out I think we skip this for now.

@wz1000

wz1000 commented Sep 29, 2023

Copy link
Copy Markdown
Collaborator Author

Cirrus CI does not seem to be working. I will do the release without freebsd binaries.

@michaelpj

Copy link
Copy Markdown
Collaborator

Should we merge this since it looks like you released?

@hasufell

hasufell commented Oct 2, 2023

Copy link
Copy Markdown
Member

Readthedocs doesn't seem updated?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge me Label to trigger pull request merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants