-
Notifications
You must be signed in to change notification settings - Fork 701
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
Add a workflow to dry run cabal-install #10740
base: master
Are you sure you want to change the base?
Conversation
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.
We already have something very similar in purpose: https://github.com/haskell/cabal/blob/master/.github/workflows/check-sdist.yml Could you instead look why that one didn't help and possibly improve it? Maybe, ask the author @geekosaur if necessary. Otherwise, I'm worried about proliferation of small workflows: it's quickly becoming unmanageable!
@ulysses4ever on the description of #10738, I mentioned why the existing workflow doesn't catch this problem.
Also the existing workflow runs on a matrix whereas this one runs only on the latest GHC and I think that would be sufficient to catch these kinds of errors. cabal/.github/workflows/check-sdist.yml Lines 49 to 50 in 8e35c5d
I've requested a review from @geekosaur, knowing that he's been involved in maintaining the GitHub workflows. |
It didn't help because it only runs on released versions, not As to "out of hand", we have a lot of moving parts; we should not be surprised that a lot of things need to be checked. And combining them to shrink the checks list causes other problems, especially if the checks aren't very related. |
Great, let’s make it do more! How about that?
Fair, but let’s just add the new stuff under an |
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.
Also see my mainline comment about check-sdist
; that may make sense to merge with this, but it'll need a bit of an overhaul including removing the docs hack as mentioned in the first comment.
strategy: | ||
matrix: | ||
ghc: | ||
["9.12.1"] |
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 we want to run this on more than just 9.12.1? For example, if 3.12 is still considered LTS, we probably want to backport this to 3.12 and add 9.10.1 to the checks.
- "*/changelog.md" | ||
- "release-notes/**" | ||
pull_request: | ||
paths-ignore: |
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.
If you ignore these, you don't catch the README.md
problem also fixed in this PR.
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.
If that's the case then wouldn't keeping this as a separate workflow be simpler?
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.
Simpler, but if Artem's annoyed about having lots of little checks then you may get pushed into it anyway, in which case the combined check needs to always run instead of using the docs hack.
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.
Maybe it's the other way around, and the previous, "sdist" workflow shouldn't have used these ignore-paths?
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.
check-sdist
wants to verify that a build works by going from an sdist
as the closest it can get to "installing from Hackage". It's specifically looking for ABI breaks, so doc-only changes make no sense for it.
Why does it say |
Leftover from debugging (I removed similar things from the release branch but apparently missed that one on |
a08c662
to
0aa7d62
Compare
- Push to any branch - Only check with the latest GHC version - Shorten name of job
0aa7d62
to
293e517
Compare
Fixes #10738. Adds a dry run check of
cabal install cabal-install
and then fixes the casing ofextra-source-files
inCabal-hooks
.Here's a failing run, https://github.com/haskell/cabal/actions/runs/12736390756/job/35496224194.