-
-
Notifications
You must be signed in to change notification settings - Fork 368
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 release 2.5.0.0 #3879
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