# -*- YAML -*- # Copyright (C) 2011 Urabe, Shyouhei. All rights reserved. # # This file is a part of the programming language Ruby. Permission is hereby # granted, to either redistribute or modify this file, provided that the # conditions mentioned in the file COPYING are met. Consult the file for # details. # When you see Travis CI issues, or you are interested in understanding how to # manage, please check the link below. # https://github.com/ruby/ruby/wiki/CI-Servers#travis-ci # We enable Travis on the specific branches or forked repositories here. # https://docs.travis-ci.com/user/conditions-v1 if: >- (fork OR branch = master OR branch =~ /^ruby_\d_\d$/) AND (commit_message !~ /(\[DOC\]|Document)/) AND NOT (type = 'push' AND sender =~ /\[bot\]/) language: c os: linux dist: jammy git: quiet: true env: global: - NPROC="$(nproc)" - JOBS="-j${NPROC}" # https://github.com/travis-ci/travis-build/blob/e411371dda21430a60f61b8f3f57943d2fe4d344/lib/travis/build/bash/travis_apt_get_options.bash#L7 - travis_apt_get_options='--allow-downgrades --allow-remove-essential --allow-change-held-packages' - travis_apt_get_options="-yq --no-install-suggests --no-install-recommends $travis_apt_get_options" # -g0 disables backtraces when SEGV. Do not set that. - debugflags=-ggdb3 - RUBY_TESTOPTS="$JOBS -q --tty=no" .org.ruby-lang.ci.matrix-definitions: - &gcc-11 compiler: gcc-11 before_install: - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && exec apt-get update -yq" - >- tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install gcc-11 g++-11 libffi-dev libncurses-dev libncursesw5-dev libreadline-dev libssl-dev libyaml-dev openssl zlib1g-dev - gcc-11 --version - &arm64-linux name: arm64-linux arch: arm64 <<: *gcc-11 - &ppc64le-linux name: ppc64le-linux arch: ppc64le <<: *gcc-11 - &s390x-linux name: s390x-linux arch: s390x <<: *gcc-11 env: # Avoid possible test failures with the zlib applying the following patch # on s390x CPU architecture. # https://github.com/madler/zlib/pull/410 - DFLTCC=0 matrix: include: - <<: *arm64-linux - <<: *ppc64le-linux - <<: *s390x-linux allow_failures: # The arm64 is very slow to start the jobs. - name: arm64-linux - name: ppc64le-linux - name: s390x-linux fast_finish: true before_script: - lscpu - ./autogen.sh - mkdir build - cd build - ../configure -C --disable-install-doc --prefix=$(pwd)/install - make -s $JOBS - make -s $JOBS install # Useful info to report issues to the Ruby. - $(pwd)/install/bin/ruby -v # Useful info To report issues to the RubyGems. - $(pwd)/install/bin/gem env script: - make -s test - ../tool/travis_wait.sh make -s test-all RUBYOPT="-w" - ../tool/travis_wait.sh make -s test-spec # We want to be notified when something happens. notifications: webhooks: urls: # ruby-lang slack: ruby/simpler-alerts-bot (travis) - secure: mRsoS/UbqDkKkW5p3AEqM27d4SZnV6Gsylo3bm8T/deltQzTsGzZwrm7OIBXZv0UFZdE68XmPlyHfZFLSP2V9QZ7apXMf9/vw0GtcSe1gchtnjpAPF6lYBn7nMCbVPPx9cS0dwL927fjdRM1vj7IKZ2bk4F0lAJ25R25S6teqdk= on_success: never on_failure: always email: recipients: - jun.aruga@gmail.com on_success: never on_failure: always