-
Notifications
You must be signed in to change notification settings - Fork 9
[chore] adjust readme to save users some hours #27
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
Open
MangoIV
wants to merge
1
commit into
haskell:master
Choose a base branch
from
MangoIV:mangoiv/adjust-readme
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Could we express it in a way, which would require less updates in the future, when Stackage moves to newer versions of GHC?
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.
I'm not sure what the update policy is. Since this mentions
9.10anyway, I thought it's fine if this is just changed whenever the stackage is (rarely) updated.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.
Do you have any suggestions, perhaps? I'm not a maintainer so I don't wanna suggest anything that is hard to maintain.
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.
First of all, while
stackageSnapshot = "nightly-2025-05-23"is hardcoded, I'm happy to accept a PR bumping it to the latest Stackage Nightly or implementing a more flexible scheme. The reason it is hardcoded, I believe, is that there used to be an issue with Stackage server with not all snapshot endpoints available in JSON format. Perhaps it has been fixed and we can just pick up the latest?..Secondly, you can download any
cabal.configyou like (say, https://www.stackage.org/nightly-2025-11-12/cabal.config) and use it by specifiying--snapshot-path. And if boot libraries have been upgraded in the GHC source tree, you can edit them manually in the downloadedcabal.config.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.
You're right; the minor version issue is extremely annoying. While upgrading this to 9.12.2 on my local branch, I added boot packages to excluded_pkgs.json, which should at least alleviate that problem (this probably needs to be done even when they become re-installable, as
ghcis in the build plan).Separately, changing
stackageSnapshot = "nightly"and removinggenerated/cabal.project'sindex-statesounds plausible, though there are some nuances.In general, a new major snapshot brings a bunch of new packages that need to be excluded -- e.g. they contain system deps or are executables -- so at some point
nightlywill not be buildable here, until a PR is made to add such packages toexcluded_pkgs.json. At the present, this type of error would likely not be caught by CI, since the list of packages built by CI is necessarily very short.We could add a test that in fact runs
clc-stackagewith everything and--dry-run. This is quite fast and would detect both the errors above, since they are solver errors. It wouldn't detect actual build errors (hopefullystackageitself would?), but maybe it's good enough.You'd still need to signal to users which ghc to use. I guess the readme could say "look at
ci.yaml", or whichever ghc the latestnightlysnapshot corresponds to.I'm not sure what stackage's policy is, but
ltsmight provide a more stable hardcoded path e.g.https://www.stackage.org/ltsorhttps://www.stackage.org/lts-24(resolves to the latest9.10). The latter would require someone to bump it every so often, but you'd probably want to do that anyway forci.yaml.