It would be nice to add a P9 system in our travis CI.
There are POWER9 systems at OSU. We can request for VM here:
https://osuosl.org/services/powerdev/
cc @ceseo
I must admit it is unclear to me how this meshes with travis CI - as far as I know their P8 offering (still a semi-official beta ?) is using osuosl but no idea if they would be easily convinced to expand it to P9. Or are you suggesting setting up a generic CI of our own using a github workflow or whatever?
@martin-frbg I think that, as a community, submitting a request for adding P9 to Travis CI wouldn't hurt. I understand that may take a while to happen.
Meanwhile, adding a way to test on P9 in the workflow sounds like a very good idea. Is it something that you would consider?
@ceseo certainly - I "only" need to read up on how to do it with an external "self-hosted" site.
@martin-frbg cool! If you need help setting up a P9 at OSU, please let me know.
Access request submitted, still a bit sketchy about setup but found their powerci wiki documentation already
Request got approved and both xianyi's and my github username added to powerci. No idea yet how to match the "freestyle setup" described in the wiki to what is actually available on the Jenkins dashboard.
@ceseo if you could point me to some documentation for setting up jobs with the osuosl Jenkins specifically that would be great - right now I do not even see anything in their interface that would allow me to do anything except add a bio to my username.
BTW I have also asked about P9 support in the travis community forum but judging from their blog they seem to be focused on expanding their aarch64 portfolio.
Just received a reply from travis - with their recent move to the POWERVS cloud all their POWER backend is actually P9 now apparently.
@martin-frbg which request form did you submit? The POWER CI form, or the OpenStack one?
Regarding Travis, it seems the problem is that the build script is passing -mcpu=power8, as you can see here
POWERCI as I did not know any better... regarding Travis the -mcpu=power8 is a direct consequence of having TARGET=POWER8 in the build options (to define minimum requirement for the shared parts of the DYNAMIC_ARCH build).
I have created a PR that adds a separate TARGET=POWER9 run (where we could also add a benchmark step if that makes sense).
@martin-frbg excellent, thanks!
So, you can't do anything in the Jenkins dashboard here? If not, I can ask someone there to walk you through this.
Well; I can log in and edit the description of my user, and see other project's build history but that is about it. Clicking on "New item" on the main Jenkins page or "Configure" on my user page gets me flaming Mr.Jenkins with no explanation what I did wrong. Maybe I am just to dense to realize where and how I need to start defining my own builds, or maybe the UI does not work in firefox ? In any case I have not found any howto that matches what I see, least of all in the osl wiki. osuosl folks were
like "there you have it, hope it is what you wanted". IFF travis already does what you/we need I'm inclined to give Jenkins a rest.
Hmmm. P9 build bombs out with an ICE due to the old gcc version (thought I had added workarounds for that while testing in the unicamp minicloud, but probably not for 5.x) . Preceding, unchanged P8 build completes as usual but on closer inspection I do not actually see it compiling P9 as per DYNAMIC_ARCH, probably because of compiler guards in the Makefile.
@martin-frbg I think for the purposes of a functional CI, Travis is enough for now. I'm trying to contact someone at OSU to look at your Jenkins as well.
Haven't quite gotten Travis to work but this is mostly due to me not realizing I cannot use their usual addon to update (gcc) packages on ppc64le. OSUOSL folks including support people in India are already looking into what seems to be a permissions problem. Will update here as soon as either CI setup is sorted...
Power9 build (using gcc/gfortran-9) now integrated into our Travis configuration.
Jenkins permissions issue solved by OSUOSL, test build works at least when manually invoked (and without fortran, as network access to dnf install gcc-gfortran into the provided docker image appears to be flaky right now)
Jenkins now using an Ubuntu image with gfortran. Haven't figured out how triggering builds by PR is supposed to work
I think you have to configure a github-webhook in the repository settings pointing to the Jenkins server.
Yes, but I do not have full admin control over the repo - need to try this in my fork and then ask xianyi to do it.
Do we/you actually need both travis and jenkins in parallel ?
No, Travis would suffice for me. And if they are in PowerVS, they will eventually get POWER10 in the future.