-
Notifications
You must be signed in to change notification settings - Fork 19
Update cabal.haskell-ci to only run CI on main or PRs targeting main #299
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
base: main
Are you sure you want to change the base?
Conversation
I could not figure out how to get haskell-ci to generate .yml files that run CI on all PRs, but the main cases should be covered by pushes to main and PRs that target main. If we ever have a PR targeting another branch, we can modify the .yml files locally for testing.
|
Thanks! It'd be great to update the other workflow files (in the
instead, with but it's worth noting that the meaning of The CI failure is due to the update of haskell-CI (and to be clear, you were perfectly right to use the latest version of haskell-CI from GitHub). The solution to one part (an example is here) of the issue is simply in The second part (e.g. here) doesn't have as easy a solution: you have to fix the missing-fields initialization, as there's no option to disable this recently added check. The good news is, I'm fixing it in my PR. But there's no reason to wait for it --- you can just copy the corresponding lines: |
|
Thanks for the detailed feedback! I think I solved the first issue by removing the unused dependencies, but if it turns out we need them for something after all, I will go with your solution of adding to I'll tackle the missing-fields initialization tomorrow. It seems like there might be some other problems from Defined but not used, This binding shadows the existing binding and Pattern match(es) are non-exhaustive, which I will also try to work through. Please let me know if you'd prefer another approach, since I'm happy to adjust! |
|
Sorry, I should have explained more. We do need the lower bound on
the first two are mere warnings, so they should not affect the build. The last one (Pattern match(es) are non-exhaustive) is a warning promoted to error recently (haskell-CI/haskell-ci#790). It'll have to be fixed. Note that I made a pass over warnings in a separate PR #294 (although my PR addresses only part of them). You risk to duplicate that work, so maybe we should merge that first. I'm sorry it's taking more effort than anticipated: haskell-CI's update policies are hectic. I didn't realise how much trickier it will be after the update... |
|
Makes sense, thank you! I’ll take a look at your PR and add back the |
|
uuid can be removed yes, that's a good point |
|
now, after |
I am not sure about this change, since it the guard hints that it might break the build on lower versions of GHC. I'm pushing to test this in CI.
|
Oh my, I didn't realize incomplete-uni-patterns isn't the same as incomplete-patterns (see e.g. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using-warnings.html#ghc-flag-Wincomplete-uni-patterns), so #294 doesn't help with these. If this is taking too much time to fix properly, you should feel free to disable this warning in the haskell-ci config (or, better yet, per module like here: https://github.com/gibbon-compiler/gibbon/pull/294/files#diff-89481f41b007bf12646a24a3a1411a4c10341e5bf532f018a385785245e6c557R1) leaving it as future work. |
|
There are quite a few places to change, but I have been working through them and hope to get all the way through. If I don't completely finish it, then I will push what I have and disable the warning in the haskell-ci config. Thank you for the links! |
A previous commit about removing non-exhaustive pattern matches had a couple issues, which this commit resolves. The offending commit is cfa28ce.
Some files still contain incomplete uni-patterns, which trigger
warnings that are treated as errors due to `-Werror`.
This commit adds `{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}`
to the top of those files, allowing Gibbon to compile.
This is a temporary measure while we work on removing all
incomplete uni-patterns.
|
I've removed a fair amount of the non-exhaustive uni-patterns and added |
the latter two could probably be removed. The former looks funny but I guess it's the integration tests that use gibbon executable and not the library. so it really should be |
|
wow, the HoistBoundsCheck test is failing as well?? |
|
Sorry, I haven't had a chance to look at this the last few days, but I will see if I can fix a few more of the errors now |
|
now the test suite: it also has unused packages: |
This PR updates
cabal.haskell-cito run CI on pushes to main and PRs that target main.I wasn't able to find a way to configure
haskell-cito generate.ymlfiles that run CI on all PRs, but if we ever have a PR targeting a branch, we can modify the.ymlfiles locally for testing.The changes to
haskell-ci.ymlcame from runninghaskell-ci regenerate. I used a newer version ofhaskell-ci, which introduced some additional changes unrelated to this PR.Fixes #297