-
-
Notifications
You must be signed in to change notification settings - Fork 392
Prepare release 2.5.0.0 #3879
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
Prepare release 2.5.0.0 #3879
Conversation
(cherry picked from commit 6236a51)
We use `clang` from brew's llvm, and that just fails horribly on Sonoma. 13 seems to work, though we might want to consider to just go with `llvm`. Instead of some ancient pinned version. With GHC 9.2+ we have the NCG, and don't even need to rely on llvm at all anymore, we could just drop this outright. And use the Apple CLT provided $CC and others.
missed that in the previous commit.
Just a note to release management: Cirrus CI did not refuse to start. Quite the contrary. It allows to run ad-hoc jobs against existing branches with a custom I pasted the following contents: # release CI for FreeBSD
compute_engine_instance:
image_project: freebsd-org-cloud-dev
image: family/freebsd-13-1
platform: freebsd
disk: 100 # Gb
build_task:
timeout_in: 120m
env:
AWS_ACCESS_KEY_ID: ENCRYPTED[dc5896620ebc12e98e6bbe96f72c5a2fe3785f439b7b2346797355f8d329a4bfd8ef6e58086bfc014be0d914424101cd]
AWS_SECRET_ACCESS_KEY: ENCRYPTED[6501cd594aca08c6c67cc679dd6f6d30db0cd44a81cceddebf32bb3d0a37f9af19cd71ddb7169d3f7b284a7829969f9e]
S3_HOST: ENCRYPTED[d3fef1b5850e85d80dd1684370b53183df2218f2d36509108a2703371afd9ebd3f9596ad4de52487c15ea29baed606b7]
TARBALL_EXT: "tar.xz"
ARCH: 64
ARTIFACT: "x86_64-freebsd"
DISTRO: "na"
RUNNER_OS: "FreeBSD"
ADD_CABAL_ARGS: "--enable-split-sections"
GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR}
CABAL_CACHE_NONFATAL: "yes"
matrix:
- name: build-ghc-9.2.8
env:
GHC_VERSION: 9.2.8
- name: build-ghc-9.4.8
env:
GHC_VERSION: 9.4.8
- name: build-ghc-9.6.3
env:
GHC_VERSION: 9.6.3
- name: build-ghc-9.8.1
env:
GHC_VERSION: 9.8.1
install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv
script:
- tzsetup Etc/GMT
- adjkerntz -a
- bash .github/scripts/build.sh
- tar caf out.tar.xz out/ store/
binaries_artifacts:
path: "out.tar.xz"
bindist_task:
name: bindist
depends_on:
- build-ghc-9.2.8
- build-ghc-9.4.8
- build-ghc-9.6.3
- build-ghc-9.8.1
timeout_in: 120m
env:
TARBALL_EXT: "tar.xz"
ARCH: 64
ARTIFACT: "x86_64-freebsd"
DISTRO: "na"
RUNNER_OS: "FreeBSD"
GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR}
install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv unzip
script:
- tzsetup Etc/GMT
- adjkerntz -a
- curl -o binaries-9.2.8.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.2.8/binaries/out.tar.xz
- tar xvf binaries-9.2.8.tar.xz
- rm -f binaries-9.2.8.tar.xz
- curl -o binaries-9.4.8.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.4.8/binaries/out.tar.xz
- tar xvf binaries-9.4.8.tar.xz
- rm -f binaries-9.4.8.tar.xz
- curl -o binaries-9.6.3.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.6.3/binaries/out.tar.xz
- tar xvf binaries-9.6.3.tar.xz
- rm -f binaries-9.6.3.tar.xz
- curl -o binaries-9.8.1.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.8.1/binaries/out.tar.xz
- tar xvf binaries-9.8.1.tar.xz
- rm -f binaries-9.8.1.tar.xz
- bash .github/scripts/bindist.sh
bindist_artifacts:
path: "./out/*.tar.xz"
test_task:
name: test
depends_on:
- bindist
timeout_in: 120m
env:
TARBALL_EXT: "tar.xz"
ARCH: 64
ARTIFACT: "x86_64-freebsd"
DISTRO: "na"
RUNNER_OS: "FreeBSD"
GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR}
install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv unzip
script:
- tzsetup Etc/GMT
- adjkerntz -a
- curl -O -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/bindist/bindist.zip
- unzip bindist.zip
- bash .github/scripts/test.sh Removing |
Going forward, ghcup will fork the HLS CI and produce its own bindists. However, the vanilla ghcup metadata files will still be up to upstream to maintain. |
Release checklist
.github/workflows/release.yaml
ghc: [
to find all lists.TODO:
to find locations that require extra care for GHC versions.*.cabal
files (same version as hls)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../GenChangelogs.hs <api-key> <tag>
<tag>
is the git tag you want to generate the ChangeLog from.<api-key>
is a github access key: https://github.com/settings/tokenswip/<version>
git switch -c wip/<version>
<version>
git tag <version>
git push <remote> <version>
sh scripts/release/download-gh-artifacts.sh <version> <your-gpg-email>
gh-release-artifacts/haskell-language-server-<version>/
gh-release-artifacts/haskell-language-server-<version>/
cd gh-release-artifacts/haskell-language-server-<version>
SIGNING_KEY=... ../../release/upload.sh upload
gpg --list-secret-keys --keyid-format=long
https://downloads.haskell.org/~hls/haskell-language-server-<version>/
SIGNING_KEY=... ../../release/upload.sh purge_all
to remove CDN cachesghcup-0.0.7.yaml
andghcup-vanilla-0.0.7.yaml
sh scripts/release/create-yaml-snippet.sh <version>
to generate a snippet that can be manually inserted into the yaml fileshls-metadata-0.0.1.json
cabal run ghcup-gen -- generate-hls-ghcs -f ghcup-0.0.7.yaml --format json --stdout
in the root of ghcup-metadata repository