Skip to content

Commit b437998

Browse files
committed
CI: ubuntu.yml: Add GitHub Actions ppc64le case
Note that the default configure option `./configure cppflags=-DRUBY_DEBUG` causes the following Ractor test and other tests failing. So, we don't set the option in ppc64le case. ``` $ make btest BTESTS=bootstraptest/test_ractor.rb ``` See https://bugs.ruby-lang.org/issues/21534 for details. Limit CPU number for make check to avoid failing tests due to timeout. The load average is high in The ppc64le environment. It seems the high load average causes the test failures. Limiting the CPU number suppresses the failures magically. See IBM/actionspz#38 for details.
1 parent 9bc53dc commit b437998

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

.github/workflows/ubuntu.yml

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,7 @@ jobs:
3030
os:
3131
- ubuntu-24.04
3232
- ubuntu-24.04-arm
33-
# FIXME Comment out ppc64le due to failing tests on GitHub Actions
34-
# ppc64le
35-
# https://bugs.ruby-lang.org/issues/21534
36-
# - ubuntu-24.04-ppc64le
33+
- ubuntu-24.04-ppc64le
3734
- ubuntu-24.04-s390x
3835
# The ppc64le/s390x runners work only in the registered repositories.
3936
# They don't work in forked repositories.
@@ -121,9 +118,15 @@ jobs:
121118
env:
122119
arch: ${{ matrix.arch }}
123120
configure: ${{ matrix.configure }}
124-
run: >-
125-
$SETARCH ../src/configure -C --disable-install-doc ${configure:-cppflags=-DRUBY_DEBUG}
126-
${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE}
121+
# Don't set cppflags=-DRUBY_DEBUG on ppc64le, due to some Ractor tests
122+
# failing in the case.
123+
# https://bugs.ruby-lang.org/issues/21534
124+
run: |
125+
if [ "$(uname -m)" != "ppc64le" ]; then
126+
configure="${configure:-cppflags=-DRUBY_DEBUG}"
127+
fi
128+
$SETARCH ../src/configure -C --disable-install-doc ${configure} \
129+
${arch:+--target=$arch-$OSTYPE --host=$arch-$OSTYPE}
127130
128131
- run: $SETARCH make prepare-gems
129132
if: ${{ matrix.test_task == 'test-bundled-gems' }}
@@ -166,12 +169,19 @@ jobs:
166169
diff -u ../src/spec/ruby/library/etc/struct_passwd_spec.rb{.orig,} || :
167170
if: ${{ endsWith(matrix.os, 'ppc64le') || endsWith(matrix.os, 's390x') }}
168171

172+
# A temporary workaround: Limit CPU number for make check to avoid
173+
# failing tests due to timeout.
174+
# https://github.com/IBM/actionspz/issues/38
175+
- name: Limit CPU number
176+
run: echo "JOBS=-j$(nproc)" >> "$GITHUB_ENV"
177+
if: ${{ endsWith(matrix.os, 'ppc64le') || endsWith(matrix.os, 's390x') }}
178+
169179
- name: make ${{ matrix.test_task }}
170180
run: |
171181
test -n "${LAUNCHABLE_STDOUT}" && exec 1> >(tee "${LAUNCHABLE_STDOUT}")
172182
test -n "${LAUNCHABLE_STDERR}" && exec 2> >(tee "${LAUNCHABLE_STDERR}")
173183
174-
$SETARCH make -s ${{ matrix.test_task }} \
184+
$SETARCH make -s $JOBS ${{ matrix.test_task }} \
175185
${TESTS:+TESTS="$TESTS"} \
176186
${{ !contains(matrix.test_task, 'bundle') && 'RUBYOPT=-w' || '' }}
177187
timeout-minutes: ${{ matrix.timeout || 40 }}

0 commit comments

Comments
 (0)