Misc #20320
openUsing OSU Open Source Lab native ppc64le/s390x CI services trigged on pull-requests
Description
We have been using Travis CI to run unit tests the native arm64/ppc64le/s390x in the ruby/ruby, ruby/zlib and ruby/prism repositories in the Ruby project.
One of the challenges is Travis CI's chronic unstable infra issues. To be fair, folks at Travis CI support are helpful, usually responding quickly, sometimes not. And I hope Travis CI will find the root causes of the issues. However, I would like to find alternative way to run the native ppc64le/s390x pipelines on pull-requests to change the current challenge fundamentally.
And I heard from folks at IBM that the there were CI services that we could run on the pull-requests. The CI services are Jenkins services provided by Oregon State University (OSU) Open Source Lab below. The CI services are the only alternative of running the native ppc64le/s390x pipelines on pull-requests as far as I know. As a note, we are already using SSH-accessing servers provided by OSU Open Source Lab.
- PowerPC64 (ppc64le): https://osuosl.org/services/powerdev/ - POWER Continuous Integration (POWER CI)
- IBM Z (s390x): https://osuosl.org/services/ibm-z/ - IBM Z Continuous Integration (IBM Z CI)
Today I requested the CI services from the request form pages above. And I will try the services by myself first. Then if it looks good to us, I want to migrate the Travis CI ppc64le/s390x pipelines to the OSU Open Source Lab's ones. I will comment on this ticket when there are updates.
Note:
Oregon State University Open Source Lab (OSUOSL) support email: support@osuosl.org and other contacts.
Updated by jaruga (Jun Aruga) 8 months ago
- Related to Misc #20013: Travis CI status added
Updated by jaruga (Jun Aruga) 8 months ago
Let me share the update.
The team at OSU Open Source Lab prepared the infra for us to try the ppc64le/s390x CI services.
We can log the Jenkins CI services by GitHub accounts. Right now only 2 GitHub accounts "ruby" and "junaruga" (my account) are enabled to log the Jenkins CIs in.
ppc64le:
- The Jenkins CI top page: https://powerci.osuosl.org/
- The document: https://wiki.osuosl.org/jenkins/powerci.html
s390x:
- The Jenkins CI top page: https://ibmz-ci.osuosl.org/
- The document: https://wiki.osuosl.org/jenkins/ibmz-ci.html
I opened the following issue ticket to request adding Ubuntu jammy container images. In my understanding, maybe we need the container images to run our tests on the environment.
Adding Ubuntu ppc64le/s390x 22.04 jammy container images.
https://github.com/osuosl/osl-dockerfiles/issues/27
Updated by jaruga (Jun Aruga) 8 months ago
I opened the following issue ticket to request adding Ubuntu jammy container images. In my understanding, maybe we need the container images to run our tests on the environment.
Adding Ubuntu ppc64le/s390x 22.04 jammy container images.
https://github.com/osuosl/osl-dockerfiles/issues/27
What I said above was my mistake. According to the communication with the OSUOSL support, we are not required to use their container images. We can use the general container images. I opened the following issue ticket to track the task that they would update their documentation.
Updating the document "Create Jenkins Jobs using Docker" with the usage of general public container images
https://github.com/osuosl/wiki/issues/158
Updated by jaruga (Jun Aruga) 7 months ago
Let me share my working status for this task.
I created testing native ruby ppc64le/s390x container images on my following working branch on my forked repository of ruby/ruby-ci-image repository.
https://github.com/junaruga/ruby-ci-image/commits/wip/ppc64le-s390x-debug/
The created ppc64le/s390x container images are below. You can see these CPU architectures on the OS / Arch tab.
https://github.com/users/junaruga/packages/container/ruby-ci-image/194651273?tag=gcc-11
Or you can search by "gcc-11" tag on the page below, if the link above is outdated.
https://github.com/users/junaruga/packages/container/package/ruby-ci-image
I confirmed a script defined on a Jenkins CI setting could run in the ppc64le container image on the Jenkins CI.
Now I am trying to trigger the Jenkins CI by pull-requests and pushes on a GitHub repository, seeing the following document.
https://plugins.jenkins.io/github/#plugin-content-github-hook-trigger-for-gitscm-polling