2 # Copyright (C) 2011 Urabe, Shyouhei. All rights reserved.
4 # This file is a part of the programming language Ruby. Permission is hereby
5 # granted, to either redistribute or modify this file, provided that the
6 # conditions mentioned in the file COPYING are met. Consult the file for
9 # When you see Travis CI issues, or you are interested in understanding how to
10 # manage, please check the link below.
11 # https://github.com/ruby/ruby/wiki/CI-Servers#travis-ci
13 # We enable Travis on the specific branches or forked repositories here.
15 (repo != ruby/ruby OR branch = master OR branch =~ /^ruby_\d_\d$/)
16 AND (commit_message !~ /\[DOC\]/)
31 # SETARCH are overridden when necessary. See below.
33 # https://github.com/travis-ci/travis-build/blob/e411371dda21430a60f61b8f3f57943d2fe4d344/lib/travis/build/bash/travis_apt_get_options.bash#L7
34 - travis_apt_get_options='--allow-downgrades --allow-remove-essential --allow-change-held-packages'
35 - travis_apt_get_options="-yq --no-install-suggests --no-install-recommends $travis_apt_get_options"
36 # -g0 disables backtraces when SEGV. Do not set that.
38 - RUBY_TESTOPTS="$JOBS -q --tty=no"
40 .org.ruby-lang.ci.matrix-definitions:
44 - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && exec apt-get update -yq"
46 tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install
71 # Avoid possible test failures with the zlib applying the following patch
72 # on s390x CPU architecture.
73 # https://github.com/madler/zlib/pull/410
78 # https://packages.ubuntu.com/jammy/crossbuild-essential-armhf
79 compiler: arm-linux-gnueabihf-gcc
81 - SETARCH='setarch linux32 --verbose --32bit'
82 # Still keep the -O1 for only arm32, while we want to test with the
83 # default optflags -O3.
84 # Because bootstraptest/test_ractor.rb fails with segfualt with the
86 # https://bugs.ruby-lang.org/issues/19981
89 - sudo dpkg --add-architecture armhf
90 - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && exec apt-get update -yq"
92 tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install
93 crossbuild-essential-armhf
95 libstdc++-10-dev:armhf
98 libncursesw5-dev:armhf
110 # FIXME: lib/rubygems/util.rb:104 glob_files_in_dir -
111 # <internal:dir>:411:in glob: File name too long - (Errno::ENAMETOOLONG)
112 # https://github.com/rubygems/rubygems/issues/7132
115 # Allow failures for the unstable jobs.
116 # - name: arm64-linux
117 - name: ppc64le-linux
119 # The 2nd arm64 pipeline may be unstable.
120 # - name: arm32-linux
128 - $SETARCH ../configure -C --disable-install-doc --prefix=$(pwd)/install
129 - $SETARCH make -s $JOBS
130 - make -s $JOBS install
131 # Useful info to report issues to the Ruby.
132 - $SETARCH $(pwd)/install/bin/ruby -v
133 # Useful info To report issues to the RubyGems.
134 - $SETARCH $(pwd)/install/bin/gem env
137 - $SETARCH make -s test
138 - ../tool/travis_wait.sh $SETARCH make -s test-all RUBYOPT="-w"
139 - ../tool/travis_wait.sh $SETARCH make -s test-spec
141 # We want to be notified when something happens.
145 # ruby-lang slack: ruby/simpler-alerts-bot (travis)
146 - secure: mRsoS/UbqDkKkW5p3AEqM27d4SZnV6Gsylo3bm8T/deltQzTsGzZwrm7OIBXZv0UFZdE68XmPlyHfZFLSP2V9QZ7apXMf9/vw0GtcSe1gchtnjpAPF6lYBn7nMCbVPPx9cS0dwL927fjdRM1vj7IKZ2bk4F0lAJ25R25S6teqdk=
151 - jaruga@ruby-lang.org