Skip to content

CI: Migrate Travis CI ppc64le/s390x cases to the GitHub Actions.#3611

Merged
tenderlove merged 1 commit into
ruby:mainfrom
junaruga:wip/gha-ppc64le-s390x
Jul 23, 2025
Merged

CI: Migrate Travis CI ppc64le/s390x cases to the GitHub Actions.#3611
tenderlove merged 1 commit into
ruby:mainfrom
junaruga:wip/gha-ppc64le-s390x

Conversation

@junaruga

@junaruga junaruga commented Jul 23, 2025

Copy link
Copy Markdown
Member

/cc @hsbt

Add a job for the ppc64le/s390x cases using GitHub Actions ppc64le/s390x service.
https://github.com/IBM/actionspz

The job runs conditionally only in the original (non-fork) repository. Because we cannot run the job in the forked repositories. The ppc64le/s390x runners only work on the registered repositories.

I had to add the new job build-ibm because the job has to run only in non-fork repository, this repository ruby/prism.

While Travis CI ran the Ubuntu 22.04 jammy ppc64le and s390x, and Ruby CI's Ubuntu ppc64le and s390x servers are also Ubuntu 22.04, this PR adds the following Ubuntu 24.04. Because there is a merit to have both Ubuntu 24.04 and 22.04 cases to test in various environment.

  • ubuntu-24.04-ppc64le
  • ubuntu-24.04-s390x

Below are the cases in other ruby/* repositories.

https://github.com/ruby/zlib/blob/4cac3f7f3134004c4395090ead6eba3fea05f822/.github/workflows/test.yml#L52-L53

https://github.com/ruby/psych/blob/a576b777ab3b02a1eb6ee1f39a0df5c8c341105b/.github/workflows/test.yml#L71-L72

What do you think? If you want Ubuntu 22.04 ppc64le/s390x cases in the CI, please let me know. There are following images available too.

  • ubuntu-22.04-ppc64le
  • ubuntu-22.04-s390x

@junaruga
junaruga force-pushed the wip/gha-ppc64le-s390x branch from fa6b732 to 2e5c226 Compare July 23, 2025 11:59
@Earlopain

Copy link
Copy Markdown
Collaborator

I had to add the new job build-ibm because the job has to run only in non-fork repository, this repository ruby/prism.

FYI, a matrix like this would work I believe:

      matrix:
        os:
          - ubuntu-latest
          - ubuntu-24.04-arm
          - macos-latest
          # - windows-latest <-- failing with fiddle error, temporarily disabled
          - ubuntu-24.04-ppc64le
          - ubuntu-24.04-s390x
        upstream:
          - ${{ github.repository == 'ruby/prism' }}
        # These jobs can't run in forked repositories
        exclude:
          - os: ubuntu-24.04-ppc64le
            upstream: false
          - os: ubuntu-24.04-s390x
            upstream: false

Then you could reuse the existing workflow. But it looks like there is some extra setup that is needed for these images so the way you have it now looks fine to me.

@junaruga

junaruga commented Jul 23, 2025

Copy link
Copy Markdown
Member Author

I had to add the new job build-ibm because the job has to run only in non-fork repository, this repository ruby/prism.

FYI, a matrix like this would work I believe:

      matrix:
        os:
          - ubuntu-latest
          - ubuntu-24.04-arm
          - macos-latest
          # - windows-latest <-- failing with fiddle error, temporarily disabled
          - ubuntu-24.04-ppc64le
          - ubuntu-24.04-s390x
        upstream:
          - ${{ github.repository == 'ruby/prism' }}
        # These jobs can't run in forked repositories
        exclude:
          - os: ubuntu-24.04-ppc64le
            upstream: false
          - os: ubuntu-24.04-s390x
            upstream: false

Then you could reuse the existing workflow. But it looks like there is some extra setup that is needed for these images so the way you have it now looks fine to me.

Oh thanks for the tip!

Yes, I noticed that the ruby/setup-ruby didn't work on ppc64le/s390x. So, I picked up the code from the ruby/zlib and ruby/psych.

Add a job for 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
@tenderlove
tenderlove merged commit 8aad6ce into ruby:main Jul 23, 2025
60 checks passed
@kddnewton

Copy link
Copy Markdown
Collaborator

Thank you!

@junaruga
junaruga deleted the wip/gha-ppc64le-s390x branch November 7, 2025 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants