-
Notifications
You must be signed in to change notification settings - Fork 696
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
Gb/build with 9.2 #7907
Gb/build with 9.2 #7907
Conversation
Nice! Could you add 9.0 and 9.2 CI jobs too? |
IIRC If you checkout the commit it was added, and (
Luckily TBH, #7802 would be useful for weighting in |
I'm a co-maintainer of I see a PR from 5 days ago, and now there is a revision. and no mention that revision was made. (EDT: though it looks like herbert forgot to give me rights on GitHub, though I have them on Hackage). |
You're right I should have mentioned the revision on the github. Anyway, I made a revision! |
Also Now I have to figure out what was updated in the meantime. |
@phadej could you push 8.10.7, 9.0.2, and 9.2.1 containers? |
It looks like those images can't be easily updated because they use hvr's PPA: phadej/docker-ghc#8 We'll have to switch to one of
just switching container is easier for now, so let's try that |
phadej's images use hvr's ppa, which stops at ghc 9.0
a0bf449
to
106c99a
Compare
One or two jobs are already switched to ghcup, but these jobs are very different beasts, so this wouldn't carry over easily, I'm sure. |
huh. I guess that image does not have profiling libraries? |
Yup, they are stripped out to save some space. This was mimicked from the old haskell debian packages. I don't think this is a huge saving though, I'd be happy to put them back if there is a need. Although the other thing to consider is the official images only keep the last 2-3 major versions of GHC up to date with cabal-install + stack. So for example 8.8 still has cabal-install 3.4 and won't be updated. |
- Remove cabal-plan, we actually never call it (I think) - Remove vendored cabal-doctest - Remove few stray allow-newer clauses no longer necessary, apparently Originally done by @gbaz in PR haskell#7907.
What is the plan here? If we continue to be blocked on getting CI working with newer ghcs beyond a certain point, I would rather merge the fixes that allow cabal to build with newer ghcs, and then have a separate pr to actually give CI on those configurations. |
@gbaz, @andreabedini is working on it in #7952 |
My work on #7952 is going a bit slowly because each workflow run has to be approved by a maintainer, which means it might that days to test again after fixing a typo. Is there any chance we can relax that constraint, even temporarily? |
I just found and enabled a setting that does just that, you should be able to iterate quickly now. If that does not work, I believe you can test the workflows on your fork |
I'll review this soon but I believe off this changes have been incorporated into #7952. You can see a failed build here. @Mikolaj has already suggested a fix in #7952 (comment). |
* Avoid templating GitHub Actions workflow GitHub Actions workflow have sufficient power to express what we need. We don't need to maintain and additional templating solution on top. * Add GHC 9.2, bump bounds, fix syntax * Switch to official haskell image * Always run cli tests for ghc 8.2 and above * Remove step to regenerate GitHub Actions workflows * Fix missed reference to GHC version * Fix yaml syntax * Fix type in the GHC version * More CI changes - Run bootstrap.yml on ubuntu-latest - Use explicit matrix for linux.yml - Drop containers in favour of haskell setup action - Drop workaround for ancient git * Remove unneeded package from CI setup I belive this is only necessary to run `cabal man` which we do not in the CI. * Drop old GHCs from the CI * Switch macos.yml to haskell/action/setup Also add the same GHC versions as Linux. * Simplify CI - Remove cabal-plan, we actually never call it (I think) - Remove vendored cabal-doctest - Remove few stray allow-newer clauses no longer necessary, apparently Originally done by @gbaz in PR #7907. * Mark GHC 9.2.1 as experimental * Remove reference to cabal-plan from validate.sh * setup-haskell action already runs cabal update * Add missing build matrix in test-windows-dogfood * Replace cabal-plan list-bin with cabal list-bin * Enable caching in the CI * Fix typo * Remove continue-on-error until I figure it out * Keep naming consistent * Temporarily disable 8.0.2 on macos * Add missing step id * Tweaks Remove workaround for nektos/act, it accidentally sneaked in. * More tweaks * Tweaks * Restore cabal-plan, temporarily mark everything experimental cabal list-bin doesn't seem to work like cabal-plan does. * Tweaks * Ensure cabal-plan executable gets built * Install automake on MacOS * Tweaks * Tweaks Link experimental flags to relative GitHub issues * Fix typo
It seems this can be closed, no? we have succesful build with failing tests |
Could somebody make a diff a verify? I believe this can be done both on commandline (or with gitk) and also using github. |
No need. This branch was just intended to get things working. It wasn't special. If another branch has picked up enough changes to get things working, I'm happy :-) |
We still fail on 9.2 because of the overlapping patterns (see https://github.com/haskell/cabal/runs/5285920627?check_suite_focus=true#step:8:1574). I will have a go at it today. Tracking in #8012 |
FYI cabal now builds with GHC 9.2 but some haddock related tests fail because of #7987 this particular issue is truly done and dusted :) |
* Avoid templating GitHub Actions workflow GitHub Actions workflow have sufficient power to express what we need. We don't need to maintain and additional templating solution on top. * Add GHC 9.2, bump bounds, fix syntax * Switch to official haskell image * Always run cli tests for ghc 8.2 and above * Remove step to regenerate GitHub Actions workflows * Fix missed reference to GHC version * Fix yaml syntax * Fix type in the GHC version * More CI changes - Run bootstrap.yml on ubuntu-latest - Use explicit matrix for linux.yml - Drop containers in favour of haskell setup action - Drop workaround for ancient git * Remove unneeded package from CI setup I belive this is only necessary to run `cabal man` which we do not in the CI. * Drop old GHCs from the CI * Switch macos.yml to haskell/action/setup Also add the same GHC versions as Linux. * Simplify CI - Remove cabal-plan, we actually never call it (I think) - Remove vendored cabal-doctest - Remove few stray allow-newer clauses no longer necessary, apparently Originally done by @gbaz in PR haskell#7907. * Mark GHC 9.2.1 as experimental * Remove reference to cabal-plan from validate.sh * setup-haskell action already runs cabal update * Add missing build matrix in test-windows-dogfood * Replace cabal-plan list-bin with cabal list-bin * Enable caching in the CI * Fix typo * Remove continue-on-error until I figure it out * Keep naming consistent * Temporarily disable 8.0.2 on macos * Add missing step id * Tweaks Remove workaround for nektos/act, it accidentally sneaked in. * More tweaks * Tweaks * Restore cabal-plan, temporarily mark everything experimental cabal list-bin doesn't seem to work like cabal-plan does. * Tweaks * Ensure cabal-plan executable gets built * Install automake on MacOS * Tweaks * Tweaks Link experimental flags to relative GitHub issues * Fix typo
* Avoid templating GitHub Actions workflow GitHub Actions workflow have sufficient power to express what we need. We don't need to maintain and additional templating solution on top. * Add GHC 9.2, bump bounds, fix syntax * Switch to official haskell image * Always run cli tests for ghc 8.2 and above * Remove step to regenerate GitHub Actions workflows * Fix missed reference to GHC version * Fix yaml syntax * Fix type in the GHC version * More CI changes - Run bootstrap.yml on ubuntu-latest - Use explicit matrix for linux.yml - Drop containers in favour of haskell setup action - Drop workaround for ancient git * Remove unneeded package from CI setup I belive this is only necessary to run `cabal man` which we do not in the CI. * Drop old GHCs from the CI * Switch macos.yml to haskell/action/setup Also add the same GHC versions as Linux. * Simplify CI - Remove cabal-plan, we actually never call it (I think) - Remove vendored cabal-doctest - Remove few stray allow-newer clauses no longer necessary, apparently Originally done by @gbaz in PR haskell#7907. * Mark GHC 9.2.1 as experimental * Remove reference to cabal-plan from validate.sh * setup-haskell action already runs cabal update * Add missing build matrix in test-windows-dogfood * Replace cabal-plan list-bin with cabal list-bin * Enable caching in the CI * Fix typo * Remove continue-on-error until I figure it out * Keep naming consistent * Temporarily disable 8.0.2 on macos * Add missing step id * Tweaks Remove workaround for nektos/act, it accidentally sneaked in. * More tweaks * Tweaks * Restore cabal-plan, temporarily mark everything experimental cabal list-bin doesn't seem to work like cabal-plan does. * Tweaks * Ensure cabal-plan executable gets built * Install automake on MacOS * Tweaks * Tweaks Link experimental flags to relative GitHub issues * Fix typo
build all now works with 9.2. For now, removing vendoring of cabal-doctest (not sure why it was vendored to begin with). If that's wrong let me know. There were no real comments why it was vendored. Also removing a few stray allow-newer clauses no longer necessary, apparently.