-
Notifications
You must be signed in to change notification settings - Fork 803
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
WIP/RFC: LTS build constraints #6359
Conversation
760abf8
to
98bda85
Compare
where | ||
(a, b) = takeDropWhile_ p s | ||
|
||
takeDropWhile_ :: (Char -> Bool) -> Text -> (Text, Text) |
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.
Isn't this just a suboptimal Data.Text.span
?
|
||
takePrefix :: Text -> Text -> Maybe (Text, Text) | ||
takePrefix p s = | ||
if p `T.isPrefixOf` s |
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.
Data.Text.stripPrefix
?
9a02ea3
to
dc3a771
Compare
98bda85
to
8f209c3
Compare
|
One question: shouldn't this (the workflow) use the appropriate lts branch. Well I suppose the code doesn't need to be branch aware necessarily... |
Hmm I don't think so? We use the branches to trigger docker builds, but the nightly build-constraints is still on master. Are you thinking about maintaining multiple LTSes? If so, we could have lts-22-build-constraints.yaml etc. Are there any other considerations? |
I feel the workflows will be cleaner if we separate lts and nightly commits to separate branches if possible |
58b2706
to
f242352
Compare
I think multiple branches will make it harder to copy chunks from one build-constraints file to another. But I think it would be self-documenting and allowing for multiple LTSes if we have multiple yaml files, one for nightly and one for each LTS that we migrate to this |
I still have a hope that when we come to make lts-23 we can just fork the master branch and build minor releases off that. That still seems the most clean and consistent workflow to me. |
You can tweak the curator hash in build.sh now to pull in your new code. |
check-lts
Outdated
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 think it makes sense to move this to lts-haskell if that is where the constraints will live for now?
We will want to run it in CI anyway.
Where or when does lts-constraints get run or used? |
@bergmark I closed this since I believe you implemented most if it in curator and lts-haskell instead, right? Is the lts-constraints tool still useful? |
merged into master at e666743 |
Warning for ugly code.
Requires: commercialhaskell/curator#25
From that PR:
This is a first attempt to combine the latest nightly snapshot with the latest build-constraints.yaml to generate a lts-build-consttraints.yaml with major version bounds based on versions in nightly. Essentially we treat every version in the snapshot as
^>= v
and intersect that with what's in build-constraints.lts-build-constraints.yaml
was generated using this new binary, so you can check it out to see what the new files would look like. I chose to not parse as actual yaml, it simplified things since I wanted to keep all formatting intact. I could probably use HsYAML for that but it seemed like a lot of extra work