-
Notifications
You must be signed in to change notification settings - Fork 1
Split CI job into multiple subjobs #462
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
Conversation
…n the "make backends" target.
…listed in a text file and reports back result. new file: cmake/scripts/build_backends.sh
|
OK, I think I'm happy with the changes to the Ubuntu CI jobs now. Hopefully all the Ubuntu CI jobs complete, except maybe the So when you have time, @ChrisJChang, you can take a look and see what's the best way to propagate a similar job splitting to the Mac CI jobs. The I think we have discussed this type of CI jobs splitting in some previous Core meetings, but tagging @tegonzalo, @patscott and @pstoecker in case any of you have opinions/suggestions on this. |
Sure. Once the Mac CI job spass (the Mac mini one not yet up and running), I'll be happy for this to merge. |
Thanks for making the changes to the Mac CI job scripts! Below is a summary of the current status of the Ubuntu and Mac x64 jobs. Looks like we currently have three separate issues on Mac x64 that we don't see on Ubuntu. We should divide the work on trying to sort these out, so that you're not stuck with all of these, @ChrisJChang. (Also tagging @pstoecker: below there's a build issue with classy that I think is partially related to our classy patch -- maybe you have some input on that?)
This is an existing problem on the Mac x64 CI job for
Build error for classy: |
|
So the classy issue seems straight forward. In version 3 of Cython, the support of "cpdef" was dropped and it can be simple solved by using "cdef" instead. Since we already apply patches to classy, I will update the patch files accordingly. |
|
Great, thanks @pstoecker! |
modified: Backends/patches/classy/2.6.3/classy_2.6.3.diff modified: Backends/patches/classy/2.9.3/classy_2.9.3.diff modified: Backends/patches/classy/2.9.4/classy_2.9.4.diff modified: Backends/patches/classy/3.1.0/classy_3.1.0.diff modified: Backends/patches/classy/exo_2.7.2/classy_exo_2.7.2.diff
It's worth noting that I hadn't had the build standalones working on the Macs at all, and had previously commented that out in the CI (I uncommented it out in my changes to this branch). I will look into why this is again. |
Ah, I see. It would certainly be nice to sort it out, but I don't think this is urgent then. It's probably more important that we solve the Rivet issue, since that affects the use of GAMBIT/ColliderBit proper, not only the standalones. I'll take a quick look at the Rivet stuff now to see if I can understand what's going on. |
|
@tprocter46 and @agbuckley, perhaps you have some input on this: Rivet fails to build on our Mac x64 CI job because it at some point tries to delete Is this a known issue? Can we tell the Rivet build system to not install anything in |
I changed the pip installed version of setuptools to 58.2.0. I also added explicit python paths to protect against future updates changing the default python path.
|
The Mac x64 can now build rivet. I fixed this by changing the version of setuptools with pip to be 58.2.0. Not clear to me why this was necessary now, but not previously. I also hard set the python paths (had no effect on rivet build), so that when the Macs automatically update, changed default python locations won't mess things up (happened constantly). I can check whether this will also fix the Arm64 Mac CI. Those currently fail the gambit build because of the issue fixed on PR #468 . Once that is merged into master, and master is merged into this branch, I will check whether this fixes that one. |
|
@ChrisJChang, I merged #468 to master now and then master into this branch, so let's see if the gambit_build job for Arm64 works now. |
|
Current status of CI jobs, after merging in #468:
I will reactivate the currently disabled CI jobs for Mac x64, so we'll get the full picture. Assuming that the gambit_build job will work also for Mac x64, my suggestion would be that we then review and merge this PR to master. Then we can propagate this CI job split to the dedicated PRs/branches where we work on solving the individual issues above. |
|
@ChrisJChang, about the issue with not finding contur: I wouldn't be surprised if this is just the symbol visibility issue: #453 (comment) Actually, as a first test I'll just add the option |
|
@ChrisJChang, never mind about the Contur issue. I remembered now that it is just this problem, #412 (comment), about a missing python module. So this will be fixed with with PR #412, so we should ignore it here. |
|
Ok great. Since the contur issue will be solved in PR #412 , and the standalones issue will be solved when I create a PR to include the printers in the standalones, are there any remaining things to wait on before this is merged? |
No, I don't think so. Though we should have a quick code review, since I've added some new cmake functions/scripts. @pstoecker, could I ask you to do a quick review? The key changes are in Btw, I did one last change to the CI job scripts now, to set the following order of the subjobs: gambit_build, backends_build, test_runs, standalones_build. |
pstoecker
left a comment
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 looks good. There are, however, a few CI tasks that are failing, but I still approve this PR as it seems from the coments of this PR that these problems are already known and taken care of in other issues and PRs. but code-wise there is nothing that would require a needed change.
|
Thanks for doing the review, @pstoecker! I've replied to your comments and resolved the conversations above. Merging this now. |
[Work in progress -- just using the PR to easily run CI tests]
This is a PR to split the CI job into separate subjobs, i.e.
spartan.yamltest runColliderBit_CMSSM.yamlandWC.yaml)This is to avoid the current situation where our single "Build GAMBIT" CI job often fails just because e.g. some backend failed to download.
I'm currently working on the Ubuntu CI job, and then @ChrisJChang will take a look at making similar modifications for the Mac CI jobs.