-
Notifications
You must be signed in to change notification settings - Fork 82
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
CI on GitHub Actions using a patched haskell-ci generated workflow #189
Conversation
This PR is now ready. Please have a look at the supplied DEVELOPER.md for the explanation of the philosophy of this CI: It uses the workflow generated by
This PR should ideally squashed, but after merging #188 (so that #188's commits do not get squashed into the GHA specific stuff). |
I think I will just start with this one :). Can you rebase this first? I think it would be good if the PR also didn't have the extra diff from #188, even if I do squash it, for anyone reading the PR after. |
I rebased it onto current |
Get CI on GitHub Actions via a patched workflow generated by haskell-ci. - DEVELOPER.md explains how to regenerate the CI, e.g. in case of new GHCs. - .github/haskell-ci.patch modifies the generated workflow by: * Setting flag 'bootstrap' to False in calls to cabal. * Installing happy instead of just building it. * Setting HAPPY and HC for running the tests. - tests/Makefile has been modified to not overwrite already set HAPPY and HC variables. This is needed to locate these executables correctly. - cabal.haskell-ci contains configuration for running haskell-ci: It removes constraints on packages containers, mtl and transformers. Otherwise, these will be constrained to the GHC-shipped versions, which isn't compatible with happy for all GHC versions. The logic behind this CI setup is identical to haskell/alex#189
Get CI on GitHub Actions via a patched workflow generated by haskell-ci. - DEVELOPER.md explains how to regenerate the CI, e.g. in case of new GHCs. - .github/haskell-ci.patch modifies the generated workflow by: * Setting flag 'bootstrap' to False in calls to cabal. * Installing happy instead of just building it. * Setting HAPPY and HC for running the tests. - tests/Makefile has been modified to not overwrite already set HAPPY and HC variables. This is needed to locate these executables correctly. - cabal.haskell-ci contains configuration for running haskell-ci: It removes constraints on packages containers, mtl and transformers. Otherwise, these will be constrained to the GHC-shipped versions, which isn't compatible with happy for all GHC versions. The logic behind this CI setup is identical to haskell/alex#189 [fixes haskell#189] [fixes haskell#193]
WIP, first successful run at https://github.com/andreasabel/alex/runs/2829343149?check_suite_focus=true
Rests on/includes PR #188.