Skip to content

Release 2.3.0.0 #3818

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 7 commits into from
Oct 6, 2023
Merged

Release 2.3.0.0 #3818

merged 7 commits into from
Oct 6, 2023

Conversation

wz1000
Copy link
Collaborator

@wz1000 wz1000 commented Sep 27, 2023

  • 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 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000 wz1000 temporarily deployed to CI September 28, 2023 14:18 — with GitHub Actions Inactive
@wz1000
Copy link
Collaborator Author

wz1000 commented Sep 29, 2023

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

@michaelpj
Copy link
Collaborator

Should we merge this since it looks like you released?

@hasufell
Copy link
Member

hasufell commented Oct 2, 2023

Readthedocs doesn't seem updated?

@wz1000 wz1000 requested a review from michaelpj as a code owner October 4, 2023 04:50
@wz1000 wz1000 added the merge me Label to trigger pull request merge label Oct 4, 2023
@mergify mergify bot merged commit d983c89 into master Oct 6, 2023
# for free to join this conversation on GitHub. Already have an account? # 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