-
Notifications
You must be signed in to change notification settings - Fork 697
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
Post remove ci templates #8000
Post remove ci templates #8000
Conversation
Thanks for pinging me @jneira. My problem with testing using old GHCs is that it is very arbitrary what we are going to test.
There's a proverbial combinatorial explosion of possible configurations to tests. I honestly do not know what we should tests. One suggestion I could give now is that perhaps you can consider making validate-old-ghcs a separate workflow, so we can unify the main workflows (Linux / MacOS / Windows) into something simple. |
I guess it already was only tested in linux to save ci resources and simplify the scripts. It is not comprehensive but it worked well enough until now afaik so i only keep the existing behaviour
Again, i am keeping the existing behaviour, All builds > 8.0 should work so i hope the chosen main ghc is somewhat arbitrary. We could try 8.10.7 and see how is going (but i prefer start with the existing one to not mix things)
Hmm the same combination as before, adding the recently removed ones < 8.0 could be a good start imo
I considerated it but as the original workflow made the old-ghcs job require the main one so i am keeping that here. |
I could not resist to add
to all workflows, to cancel ongoing runs on new commits of the same workflow, another way to save resources The unique caveat i can think of is it does not allow to abuse ci and check different implementations concurrently, but i think upstream ci should not be abused that way. You always can open prs in your own fork for those kind of checks (or test locally of course) |
Fair enough. I would prefer to see all the issues at once that having to discover them one by one but I don't have a strong opinion here. Edit: I would not say "abuse", it's the CI's job to run tests! |
yeah and it continues doing it, but only for the last commit of the pr/branch if several of them are ran concurrently 😉 |
I just had a little thought, on GHC 8.8.4 we pass
my 2c. |
It runs solver for one package 5 times (look what Don't assume, check! |
Bad idea. it's like testing |
Please don't remove the run of solver-benchmarks from CI. The benchmark's unit tests only cover limited functionality, so it is useful to verify that the whole benchmark can run for a single package. The benchmark runs the cabal executable, so it is testing more than just the solver.
I'm not very familiar with the current CI setup, so I don't know whether there is currently an issue preventing the benchmark from being tested. |
:-( I didn't assume, I did check the logs and I could not find anything related to the benchmark.
And what is the argument against that? @phadej I admire your work. I am just trying to keep things simple here, for everybody's benefit. |
Nobody needs to worry, I have no intention to remove it. |
The argument is that changes in Cabal library affect how cabal-install works, so cabal-install should be tested also after any Cabal changes. Not the other way around, but I think most of our tests are cabal-install tests. |
I am continuing the work in my fork to not take too much ci resources here: jneira#3 There i've changed the job names to |
b1d8bde
to
836b562
Compare
Ok, i think i made the old-ghcs job work (see https://github.com/jneira/cabal/runs/5285931614) restoring in practice the old job.
Thing i tried (reverse engineering @phadej's work on the way):
So we could use ubuntu-18.04 if the validate script would support not dyn ghc flavours. I guess it is not possible for old ghc versions. @phadej i would appreciate if you could confirm those guesses from a linux beginner |
will try with ghc-8.10.7 |
it failed cause it has to use ghcup and haskell-setup action needs sudo in scope to install ghc with ghcup. 🤦 |
Ok i've restored linux and macos checks and will add old-ghc ones as soon the new jobs are picked up by github ui Using post-jobs make the protection rules more maintainable, you can use them as a resume of all matrix job and allows to have one check per workflow |
I know it is good to make us eager to fix failing jobs, but having the red cross everywhere (in commit, pr list, etc) makes me 😿 |
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.
LGTM. Thanks for adding all the comments! I am a bit sad we do this on Linux only since I was going to merge the platforms but alas, it will do for now.
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.
Thank you!
@Mergifyio rebase |
✅ Branch has been successfully rebased |
c91d6d3
to
d7b25a2
Compare
@@ -1,5 +1,10 @@ | |||
name: Bootstrap | |||
|
|||
# See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency. | |||
concurrency: | |||
group: ${{ github.head_ref }}-${{ github.workflow }} |
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 head_ref and not ref?
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.
Good point head_ref
is only defined for pull requests and workflows are triggered for direct commits too.
The consequence is that, for consecutive direct and merge commits in master (and 3.6, 3.4 etc), they will be cancelled but the last one.
So we will lose the status of those intermmediate commits.
There is a small probability of a green pr breaking master cause we are not enforcing the pr is up to date with master before merging it. Also there is a even small probability of merge another pr just after the offending one and we will not know the real cause is the intemmediate and no the final one.
Will change asap
Adressing some issues after the new gha workflows in #7952
@andreabedini i started to work on this before your comments in #7592. Let me know if you want to continue the great work done there with your own pr. No problem at all with that
Please include the following checklist in your PR: