-
Notifications
You must be signed in to change notification settings - Fork 720
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
Improve Github Actions. #5687
Improve Github Actions. #5687
Conversation
db1ece2
to
57c277c
Compare
0bf6d53
to
53ca490
Compare
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.
Nice work!
My main concern is about haskell/cabal#9587 workaround - see my comments.
I have also a questions about caching mechanism. I have a few doubts about the cache availability https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache.
- The docs explain that the cache is only available to child branches. That means that if we don't trigger this build on
master
, the feature branches won't have access to the cache - correct? If that's true, we should also add the trigger on pushes tomaster
. - Any dependency change (e.g. bump for one of our CHaP packages) will cause cache miss for cabal store, which means rebuilding of a whole dependency tree, including hackage deps. I'm wondering if it would make sense to split the cache into two: cabal store, and stuff in
dist-newstyle
. It would speed-up workflows when bumping dependencies. How much time does a build take when you just bump a dependency?
# The following seems like a duplicate but it is due to a bug in cabal which can sometimes | ||
# cause build intermittent build failures on Windows, so we run the build twice. | ||
# | ||
# https://github.com/haskell/cabal/issues/9587 |
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.
Why are we removing this step? The bug doesn't seem fixed? The original discussion https://github.com/IntersectMBO/cardano-node/pull/5625/files#r1442647736
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.
How easy was that issue to reproduce, because I have not seen it for ages.
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'd say one in 20 builds? It was happening sometimes.
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 would have done at least 20 build of this an not yet seen it.
Do you want it back in?
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.
Let's try without it and see if it happens again. Maybe it was a side effect from cabal-cache
.
52f94f7
to
75d8f44
Compare
331dc90
to
5262ff8
Compare
* Make it more like `cardano-base`. * Drop the ad-hoc caching in favour of Cabal caching.
5262ff8
to
23280e0
Compare
run: | | ||
# The tests call out to msys2 commands. We generally do not want to mix toolchains, so | ||
# we are very deliberate about only adding msys64 to the path where absolutely necessary. | ||
${{ (runner.os == 'Windows' && '$env:PATH=("C:\msys64\mingw64\bin;{0}" -f $env:PATH)') || '' }} |
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.
this line can be avoided similarly to https://github.com/IntersectMBO/cardano-api/pull/504/files#diff-c09cc8dc973415b1221308559b96942a1c4b872e690bf360fc22d9b42822d519L76
de7d684
to
23280e0
Compare
Description
Improve Github Actions.
Checklist
See Runnings tests for more details
CHANGELOG.md
for affected package.cabal
files are updatedhlint
. See.github/workflows/check-hlint.yml
to get thehlint
versionstylish-haskell
. See.github/workflows/stylish-haskell.yml
to get thestylish-haskell
versionghc-8.10.7
andghc-9.2.7
Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges. Please contact IOG node developers to do this
for you.