-
Notifications
You must be signed in to change notification settings - Fork 5.5k
CI: ubuntu.yml: Add GitHub Actions s390x case #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
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
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. |
625ab72
to
9ccfa53
Compare
@Earlopain Thank you for sharing the tips, and testing it in your repositories! I will take a look at the tips! |
aa7deb8
to
ae14d9d
Compare
I reported the issue IBM/actionspz#31 related to group ID of the CI user on the ppc64le/s390x images. |
f407bbf
to
6543a09
Compare
I am seeing the following ractor test error on GitHub Actions Ubuntu 24.04, and 22.04 ppc64le environments. The error happened on the following tests. ruby/bootstraptest/test_ractor.rb Line 1016 in bf2c8ad
ruby/bootstraptest/test_ractor.rb Line 1451 in bf2c8ad
I couldn't reproduce the errors on RubyCI Ubuntu (ppc64le) server by the following commands. The
If you know how to debug and what may be cause, and you let me know that here, I would appreciate that! |
ba5e459
to
93955f0
Compare
I upgraded RubyCI's Ubuntu (ppc64le) server from 22.04 jammy to 22.04 noble below. Then I was able to reproduce these errors on the latest master branch ruby f3206cc on the host! 😄
|
9f30662
to
0bfdb7f
Compare
I opened the Ruby Bug ticket here after I debugged in the ppc64le server. |
2d026cb
to
1d6fcfb
Compare
Add the s390x case using GitHub Actions ppc64le/s390x service. https://github.com/IBM/actionspz We can run the ppc64le/s390x cases only in the registered upstream repositories. https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what-about-forked-repos The following matrix upstream logic is to skip the ppc64le/s390x in the downstream (fork) repositories. ``` + upstream: + - ${{ github.repository == 'ruby/ruby' }} ``` Use the "os" list to determine the excluded ppc64le/s390x cases by using the "exclude" syntax. Because the "exclude" syntax are executed before the "include" syntax. Add the ubuntu-24.04-ppc64le as a comment, because the GitHub Actions ppc64le case has the following test errors and failures. https://bugs.ruby-lang.org/issues/21534
This is a temporary workaround.
This is a temporary workaround.
1d6fcfb
to
56326e1
Compare
/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.