-
-
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.1.0.0 #3748
Prepare release 2.1.0.0 #3748
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for your work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great stuff!
|
||
# After running the test, free up disk space by deleting the unneeded GHC version. | ||
# Helps us staying beneath the 14GB SSD disk limit. | ||
ghcup rm ghc "${bin_noexe/haskell-language-server-/}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fendor this breaks the tests.
on line 51 we have
"$bindir/haskell-language-server-wrapper${ext}" typecheck "${test_module}" || fail "failed to typecheck with HLS wrapper"
Here are the logs:
2024-03-01T10:21:59.7648620Z + for hls in '"${bindir}/"haskell-language-server-*'
2024-03-01T10:21:59.7648970Z + bin=haskell-language-server-9.8.2~2.7.0.0
2024-03-01T10:21:59.7649280Z + bin_noexe=haskell-language-server-9.8.2~2.7.0.0
2024-03-01T10:21:59.7649730Z + [[ haskell-language-server-9.8.2~2.7.0.0 =~ haskell-language-server-wrapper ]]
2024-03-01T10:21:59.7650170Z + [[ haskell-language-server-9.8.2~2.7.0.0 =~ ~ ]]
2024-03-01T10:21:59.7650530Z + for hls in '"${bindir}/"haskell-language-server-*'
2024-03-01T10:21:59.7650840Z + bin=haskell-language-server-wrapper
2024-03-01T10:21:59.7651490Z + bin_noexe=haskell-language-server-wrapper
2024-03-01T10:21:59.7651910Z + [[ haskell-language-server-wrapper =~ haskell-language-server-wrapper ]]
2024-03-01T10:21:59.7652340Z + for hls in '"${bindir}/"haskell-language-server-*'
2024-03-01T10:21:59.7652680Z + bin=haskell-language-server-wrapper-2.7.0.0
2024-03-01T10:21:59.7653020Z + bin_noexe=haskell-language-server-wrapper-2.7.0.0
2024-03-01T10:21:59.7653490Z + [[ haskell-language-server-wrapper-2.7.0.0 =~ haskell-language-server-wrapper ]]
2024-03-01T10:21:59.7654410Z + /Users/github1/github/actions-runner/_work/haskell-language-server/haskell-language-server/.ghcup/bin/haskell-language-server-wrapper typecheck Data/ByteString.hs
2024-03-01T10:22:00.9380400Z Found "/private/var/folders/wb/zzxx2gnd7hb913crzw4m3h3w0000gp/T/hls_ci.XXXXXXX.YVU2SqT0L8/bytestring-0.11.1.0/hie.yaml" for "/private/var/folders/wb/zzxx2gnd7hb913crzw4m3h3w0000gp/T/hls_ci.XXXXXXX.YVU2SqT0L8/bytestring-0.11.1.0/a"
2024-03-01T10:22:00.9392480Z Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 2.7.0.0 aarch64 ghc-9.2.8
2024-03-01T10:22:00.9395170Z Current directory: /private/var/folders/wb/zzxx2gnd7hb913crzw4m3h3w0000gp/T/hls_ci.XXXXXXX.YVU2SqT0L8/bytestring-0.11.1.0
2024-03-01T10:22:00.9396070Z Operating system: darwin
2024-03-01T10:22:00.9396430Z Arguments: ["typecheck","Data/ByteString.hs"]
2024-03-01T10:22:00.9399390Z Cradle directory: /private/var/folders/wb/zzxx2gnd7hb913crzw4m3h3w0000gp/T/hls_ci.XXXXXXX.YVU2SqT0L8/bytestring-0.11.1.0
2024-03-01T10:22:00.9400170Z Cradle type: Cabal
2024-03-01T10:22:00.9635970Z
2024-03-01T10:22:00.9636830Z Tool versions found on the $PATH
2024-03-01T10:22:00.9639480Z cabal: 3.10.2.1
2024-03-01T10:22:00.9640080Z stack: Not found
2024-03-01T10:22:00.9640450Z ghc: Not found
2024-03-01T10:22:00.9640690Z
2024-03-01T10:22:00.9640700Z
2024-03-01T10:22:00.9641360Z Consulting the cradle to get project GHC version...
2024-03-01T10:22:00.9893730Z 2024-03-01T10:22:00.988616Z | Debug | cabal exec -v0 -- ghc --print-libdir
2024-03-01T10:22:00.9894360Z Failed to find the GHC version of this Cabal project.
2024-03-01T10:22:00.9895220Z Error when calling cabal exec -v0 -- ghc --print-libdir
2024-03-01T10:22:00.9895450Z
2024-03-01T10:22:00.9896360Z Error: cabal: The program 'ghc' version >=7.0.1 is required but it could not
2024-03-01T10:22:00.9896730Z be found.
2024-03-01T10:22:00.9896830Z
2024-03-01T10:22:00.9896830Z
2024-03-01T10:22:00.9900060Z 2024-03-01T10:22:00.989765Z | Info | Starting server
2024-03-01T10:22:00.9901400Z 2024-03-01T10:22:00.990019Z | Error | Got EOF
If you analyze the logs, you see two things:
- there's no GHC to invoke (because you removed all of them)
- HLS wrapper doesn't seem to exit correctly when the toolchain is missing
This also fails more rigorously on runners that have non-ghcup GHC pre-installed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, deleting all ghc versions is clearly incorrect. The disk space concern remains, though, should we install some GHC version?
I suppose it makes somewhat sense to not have exit code 1
if a module can't be loaded, but in this case, even starting fails, so we definitely should have a NonZero exit code.
This also fails more rigorously on runners that have non-ghcup GHC pre-installed.
What does more rigorously mean in this case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we install some GHC version?
Up to you. In my CI, I install the recommended 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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should just commit something like this!
Supported tools table needs to be updated: |
Ah thanks, I missed that! Adding it to the RELEASING checklist for the future. |
Ghcup docs update: haskell/ghcup-hs#870 |
ChangeLog 2.1.0.0
Pull requests merged
(#3747) by @joyfulmantis
(#3746) by @July541
(#3744) by @July541
(#3737) by @joyfulmantis
(#3729) by @joyfulmantis
(#3725) by @nlander
(#3724) by @cydparser
(#3717) by @joyfulmantis
(#3714) by @joyfulmantis
(#3713) by @wz1000
(#3712) by @konn
(#3707) by @July541
(#3706) by @July541
(#3705) by @July541
(#3700) by @isovector
(#3699) by @dependabot[bot]
(#3698) by @dependabot[bot]
(#3696) by @joyfulmantis
(#3691) by @July541
(#3688) by @joyfulmantis
(#3687) by @wz1000
(#3686) by @wz1000
(#3685) by @joyfulmantis
(#3683) by @PiDelport
(#3682) by @joyfulmantis
(#3680) by @hasufell
(#3679) by @joyfulmantis
(#3678) by @joyfulmantis
(#3677) by @July541
(#3676) by @nlander
(#3674) by @joyfulmantis
(#3672) by @michaelpj
(#3670) by @michaelpj
(#3668) by @michaelpj
(#3666) by @dependabot[bot]
(#3665) by @michaelpj
(#3662) by @brandonchinn178
(#3658) by @joyfulmantis
(#3654) by @HugoPeters1024
(#3651) by @michaelpj
(#3650) by @VeryMilkyJoe
(#3649) by @michaelpj
(#3648) by @sandydoo
(#3647) by @akshaymankar
(#3643) by @maralorn
(#3642) by @simmsb
(#3641) by @smunix
(#3640) by @mrcjkb
(#3637) by @cgeorgii
(#3635) by @michaelpj
(#3633) by @michaelpj
(#3631) by @brandonchinn178
(#3627) by @dependabot[bot]
(#3626) by @dependabot[bot]
(#3625) by @smunix
(#3621) by @joyfulmantis
(#3615) by @VeryMilkyJoe
(#3614) by @VeryMilkyJoe
(#3612) by @dependabot[bot]
Indexing
progress message when exeption in withHieDb(#3610) by @guibou
(#3604) by @dependabot[bot]
(#3603) by @dependabot[bot]
(#3268) by @VeryMilkyJoe
(#3232) by @wz1000
Release checklist
.github/workflows/release.yaml
*.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>
sh scripts/release/download-gh-artifacts <version> <your-gpg-email>
gh-release-artifacts/<version>/
gh-release-artifacts/<version>/
ghcup-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