|
45 | 45 | extra_checks: [capi] |
46 | 46 | fail-fast: false |
47 | 47 |
|
48 | | - env: |
| 48 | + env: &make-env |
49 | 49 | GITPULLOPTIONS: --no-tags origin ${{ github.ref }} |
50 | 50 | RUBY_DEBUG: ci |
51 | 51 |
|
|
59 | 59 | || (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') |
60 | 60 | )}} |
61 | 61 |
|
62 | | - steps: |
| 62 | + steps: &make-steps |
63 | 63 | - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
64 | 64 | with: |
65 | 65 | sparse-checkout-cone-mode: false |
|
73 | 73 | with: |
74 | 74 | ruby-version: '3.1' |
75 | 75 | bundler: none |
76 | | - if: ${{ !endsWith(matrix.os, 'arm') }} |
| 76 | + if: >- |
| 77 | + ${{ !endsWith(matrix.os, 'arm') |
| 78 | + && !endsWith(matrix.os, 'ppc64le') && !endsWith(matrix.os, 's390x') }} |
| 79 | +
|
| 80 | + # A temporary workaround: Set HOME env to pass the step |
| 81 | + # ./.github/actions/setup/directories. |
| 82 | + # https://github.com/IBM/actionspz/issues/30 |
| 83 | + - name: Set HOME env |
| 84 | + run: | |
| 85 | + echo "HOME: ${HOME}" |
| 86 | + echo "HOME=$(ls -d ~)" >> $GITHUB_ENV |
| 87 | + working-directory: |
| 88 | + if: ${{ endsWith(matrix.os, 'ppc64le') || endsWith(matrix.os, 's390x') }} |
77 | 89 |
|
78 | 90 | - uses: ./.github/actions/setup/directories |
79 | 91 | with: |
@@ -123,6 +135,21 @@ jobs: |
123 | 135 | continue-on-error: true |
124 | 136 | timeout-minutes: 3 |
125 | 137 |
|
| 138 | + # Avoid possible test failures with the zlib applying the following patch |
| 139 | + # on s390x CPU architecture. |
| 140 | + # https://github.com/madler/zlib/pull/410 |
| 141 | + - name: Disable DFLTCC |
| 142 | + run: echo "DFLTCC=0" >> $GITHUB_ENV |
| 143 | + if: ${{ endsWith(matrix.os, 's390x') }} |
| 144 | + |
| 145 | + # A temporary workaround: Set the user's primary group to avoid a mismatch |
| 146 | + # between the group IDs of "id -g" and C function getpwuid(uid_t uid) |
| 147 | + # pw_gid. |
| 148 | + # https://github.com/IBM/actionspz/issues/31 |
| 149 | + - name: Set user's group id |
| 150 | + run: sudo usermod -g "$(id -g)" runner |
| 151 | + if: ${{ endsWith(matrix.os, 'ppc64le') || endsWith(matrix.os, 's390x') }} |
| 152 | + |
126 | 153 | - name: make ${{ matrix.test_task }} |
127 | 154 | run: | |
128 | 155 | test -n "${LAUNCHABLE_STDOUT}" && exec 1> >(tee "${LAUNCHABLE_STDOUT}") |
@@ -168,6 +195,31 @@ jobs: |
168 | 195 | SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot |
169 | 196 | if: ${{ failure() }} |
170 | 197 |
|
| 198 | + make-ibm: |
| 199 | + strategy: |
| 200 | + matrix: |
| 201 | + include: |
| 202 | + - test_task: check |
| 203 | + os: ubuntu-24.04-ppc64le |
| 204 | + - test_task: check |
| 205 | + os: ubuntu-24.04-s390x |
| 206 | + fail-fast: false |
| 207 | + |
| 208 | + env: *make-env |
| 209 | + |
| 210 | + runs-on: ${{ matrix.os }} |
| 211 | + |
| 212 | + if: >- |
| 213 | + ${{github.repository == 'ruby/ruby' |
| 214 | + && !(false |
| 215 | + || contains(github.event.head_commit.message, '[DOC]') |
| 216 | + || contains(github.event.pull_request.title, '[DOC]') |
| 217 | + || contains(github.event.pull_request.labels.*.name, 'Documentation') |
| 218 | + || (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]') |
| 219 | + )}} |
| 220 | +
|
| 221 | + steps: *make-steps |
| 222 | + |
171 | 223 | result: |
172 | 224 | if: ${{ always() }} |
173 | 225 | name: ${{ github.workflow }} result |
|
0 commit comments