-
Notifications
You must be signed in to change notification settings - Fork 5.4k
CI: ubuntu.yml: Migrate Travis CI ppc64le/s390x cases to GitHub Actions. #13972
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
base: master
Are you sure you want to change the base?
Conversation
0b2778a
to
8b2a6ab
Compare
I got the following error that HOME environment variable is not set. https://github.com/ruby/ruby/actions/runs/16448587964/job/46487337166
So, I added the following hack to set the HOME environment variable.
However, it seems the directory by the https://github.com/ruby/ruby/actions/runs/16449252485/job/46489719903?pr=13972
|
5d4c700
to
4f5d070
Compare
54736bd
to
df5600d
Compare
Add the ppc64le/s390x cases using GitHub Actions ppc64le/s390x service. https://github.com/IBM/actionspz We can run the job only in the registered upstream repositories. https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what-about-forked-repos While Travis CI ran the Ubuntu 22.04 jammy ppc64le and s390x cases, and Ruby CI <https://rubyci.org/>'s "ppc64le (Ubuntu)" and "s390x (Ubuntu)" servers are also Ubuntu 22.04 cases, this commit adds the Ubuntu 24.04 cases using the following images. Because there is a merit to having both Ubuntu 24.04 and 22.04 cases to test Ruby in various environments. * ubuntu-24.04-ppc64le * ubuntu-24.04-s390x Note the following images are also available. * ubuntu-22.04-ppc64le * ubuntu-22.04-s390x
df5600d
to
625ab72
Compare
@Earlopain, I am trying to skip However, it seems all the cases are skipped in the current config file. Could you give me an advice to run the ppc64le/s390x as I intend? Thanks! As a reference, the document of the matrix is below. |
Unfortunatly excludes are run before includes so it doesn't work for this setup. But if you rewrite it a bit, it seems to work: matrix:
os: [ ubuntu-22.04, ubuntu-24.04, ubuntu-24.04-arm, ubuntu-24.04-ppc64le, ubuntu-24.04-s390x ]
test_task: [check]
configure: ['']
arch: ['']
timeout: [40]
# The ppc64le/s390x runners works only in the registered repositories.
# They don't work in forked repositories.
# https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what-about-forked-repos
upstream:
- ${{ github.repository == 'ruby/ruby' }}
include:
- test_task: check
configure: 'cppflags=-DVM_CHECK_MODE'
- test_task: check
arch: i686
- test_task: check
configure: '--disable-yjit'
- test_task: check
configure: '--enable-shared --enable-load-relative'
- test_task: test-bundler-parallel
timeout: 50
- test_task: test-bundled-gems
exclude:
- os: ubuntu-24.04-ppc64le
upstream: false
- os: ubuntu-24.04-s390x
upstream: false
fail-fast: false I think this is what you are looking for. I tested this in one of my repos and it does what I would expect it to. This is good as long as you only want to run the There are more general solutions to this by dynamically creating the test matrix in a previous job, writing that to an output, and then refering to that output in the job that needs the matrix. Basically what is happening here: https://github.com/ruby/actions/blob/master/.github/workflows/ruby_versions.yml. It's a bit more complicated though. |
/cc @hsbt
Add the ubuntu-22.04-ppc64le and ubuntu-22.04-s390x to align the following
hosts running Ubuntu 22.04 on Ruby CI.
https://rubyci.org/
These GitHub Actions ppc64le/s390x pipelines are managed by the following project.
https://github.com/IBM/actionspz
The onboarding document is below.
https://github.com/IBM/actionspz/blob/main/docs/onboarding.md
This PR is related to IBM/actionspz#4.