ruby-changes:66348
From: Jun <ko1@a...>
Date: Tue, 25 May 2021 19:38:28 +0900 (JST)
Subject: [ruby-changes:66348] 4f735903c2 (master): Revert "Remove .travis.yml" to revive Travis.
https://git.ruby-lang.org/ruby.git/commit/?id=4f735903c2 From 4f735903c2288f985ebf64e62817fb3cc47549d5 Mon Sep 17 00:00:00 2001 From: Jun Aruga <jaruga@r...> Date: Wed, 5 May 2021 18:10:41 +0200 Subject: Revert "Remove .travis.yml" to revive Travis. This reverts commit 6b978d542704a5614af5e9375c4b31b8d2618652. --- .travis.yml | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..d480307 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,291 @@ https://github.com/ruby/ruby/blob/trunk/.travis.yml#L1 +# -*- 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. + +# This is a Travis-CI build configuration file. The list of configurations +# available is located in +# +# http://about.travis-ci.org/docs/user/build-configuration/ +# +# and as Ruby itself is a project written in C language, +# +# http://about.travis-ci.org/docs/user/languages/c/ +# +# is also a good place to look at. + +language: c + +os: linux + +dist: xenial + +git: + quiet: true + +cache: + ccache: true + directories: + - $HOME/config_2nd + - $HOME/.downloaded-cache + +env: + global: + # Reset timestamps early + - _=$(touch NEWS && find . -type f -exec touch -r NEWS {} +) + - CONFIGURE_TTY=no + - CCACHE_COMPILERCHECK=none + - CCACHE_NOCOMPRESS=1 + - CCACHE_MAXSIZE=512Mi + - NPROC="`nproc`" + # JOBS and SETARCH are overridden when necessary; see below. + - JOBS=-j$((1+${NPROC})) + - SETARCH= + - RUBY_PREFIX=/tmp/ruby-prefix + - GEMS_FOR_TEST='timezone tzinfo' + - UPDATE_UNICODE="UNICODE_FILES=. UNICODE_PROPERTY_FILES=. UNICODE_AUXILIARY_FILES=. UNICODE_EMOJI_FILES=." + - BEFORE_INSTALL=true + # 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" + +.org.ruby-lang.ci.matrix-definitions: + + - &make-test-only + script: + - $SETARCH make -s test TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}" + + - &gcc-8 + compiler: gcc-8 + # # Not using addon to control retries + # addons: + # apt: + # sources: + # - ubuntu-toolchain-r-test + before_install: + - bash -cx "${BEFORE_INSTALL}" + - tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" + - 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 + ccache + gcc-8 + g++-8 + libffi-dev + libgdbm-dev + libncurses5-dev + libncursesw5-dev + libreadline6-dev + libssl-dev + libyaml-dev + openssl + zlib1g-dev + + - &clang-8 + compiler: clang-8 + addons: + apt: + # Not doing this manually unlike other sources, because it has been stable. + sources: + - llvm-toolchain-xenial-8 + config: + retries: true + 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 + clang-8 + llvm-8-tools + libffi-dev + libgdbm-dev + libncurses5-dev + libncursesw5-dev + libreadline6-dev + libssl-dev + libyaml-dev + openssl + zlib1g-dev + + # -------- + + - &x86_64-linux + name: x86_64-linux + <<: *gcc-8 + + - &arm64-linux + name: arm64-linux + arch: arm64 + <<: *gcc-8 + + - &s390x-linux + name: s390x-linux + arch: s390x + <<: *gcc-8 + + - &i686-linux + name: i686-linux + compiler: gcc-8 + env: + - GCC_FLAGS=-m32 + - CXX='g++-8 -m32' + - debugflags=-g0 + - SETARCH='setarch i686 --verbose --3gb' + # # Not using addon to control retries + # addons: + # apt: + # sources: + # - ubuntu-toolchain-r-test + before_install: + - tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test" + - 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-8-multilib + g++-8 + g++-8-multilib + libstdc++-8-dev:i386 + libffi-dev:i386 + libffi6:i386 + libgdbm-dev:i386 + libgdbm3:i386 + libncurses5-dev:i386 + libncurses5:i386 + libncursesw5-dev:i386 + libreadline6-dev:i386 + libreadline6:i386 + libssl-dev:i386 + libssl1.0.0:i386 + linux-libc-dev:i386 + zlib1g-dev:i386 + zlib1g:i386 + + - &arm32-linux + name: arm32-linux + arch: arm64 + # https://packages.ubuntu.com/xenial/crossbuild-essential-armhf + compiler: arm-linux-gnueabihf-gcc + env: + - debugflags=-g0 + - SETARCH='setarch linux32 --verbose --32bit' + before_install: + - sudo dpkg --add-architecture armhf + - 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 + ccache + crossbuild-essential-armhf + libc6:armhf + libstdc++-5-dev:armhf + libffi-dev:armhf + libffi6:armhf + libgdbm-dev:armhf + libgdbm3:armhf + libncurses5-dev:armhf + libncurses5:armhf + libncursesw5-dev:armhf + libreadline6-dev:armhf + libreadline6:armhf + libssl-dev:armhf + libssl1.0.0:armhf + linux-libc-dev:armhf + zlib1g-dev:armhf + zlib1g:armhf + +matrix: + include: + # Build every commit: + - <<: *i686-linux + # Build every commit (Allowed Failures): + - <<: *arm32-linux + - <<: *arm64-linux + - <<: *s390x-linux + allow_failures: + - name: arm32-linux + - name: arm64-linux + - name: s390x-linux + fast_finish: true + +before_script: + - rm -fr .ext autom4te.cache + - |- + [ -d ~/.downloaded-cache ] || + mkdir ~/.downloaded-cache + - ln -s ~/.downloaded-cache + - "> config.status" + - "> .rbconfig.time" + - sed -f tool/prereq.status template/Makefile.in common.mk > Makefile + - make touch-unicode-files + - make -s $JOBS $UPDATE_UNICODE up + - make -s $JOBS srcs + - rm -f config.status Makefile rbconfig.rb .rbconfig.time + - |- + if [ -d ~/config_2nd ]; then + cp -pr ~/config_2nd build + else + mkdir build + fi + - mkdir config_1st config_2nd + - chmod -R a-w . + - chmod -R u+w build config_1st config_2nd + - cd build + - |- + case "$CC" in + gcc*) CC="ccache $CC${GCC_FLAGS:+ }$GCC_FLAGS -fno-diagnostics-color";; + clang*) CC="ccache $CC${GCC_FLAGS:+ }$GCC_FLAGS -fno-color-diagnostics";; + esac + - |- + [ ! -f config.cache ] || + [ "$CC" = "`sed -n s/^ac_cv_prog_CC=//p config.cache`" ] || + (set -x; exec rm config.cache) + - $SETARCH ../configure -C --disable-install-doc --prefix=$RUBY_PREFIX $CONFIG_FLAG + - cp -pr config.cache config.status .ext/include ../config_1st + - $SETARCH make reconfig + - cp -pr config.cache config.status .ext/include ../config_2nd + - (cd .. && exec diff -ru config_1st config_2nd) + - chmod u+w .. + - rm -rf ~/config_2nd + - mv ../config_2nd ~ + - chmod u-w .. + - $SETARCH make -s $JOBS + - make -s install + - |- + [ -z "${GEMS_FOR_TEST}" ] || + $RUBY_PREFIX/bin/gem install --no-document $GEMS_FOR_TEST + - echo "raise 'do not load ~/.irbrc in test'" > ~/.irbrc + +script: + - $SETARCH make -s test -o showflags TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}" + - travis_wait 50 $SETARCH make -s test-all -o exts TESTOPTS="${TESTOPTS} ${TEST_ALL_OPTS}" RUBYOPT="-w" + - $SETARCH make -s test-spec MSPECOPT=-ff # not using `-j` because sometimes `mspec -j` silently dies + - $SETARCH make -s -o showflags leaked-globals + +# Branch matrix. Not all branches are Travis-ready so we limit branches here. +branches: + only: + - master + - ruby_2_4 + - ruby_2_5 + - ruby_2_6 + - ruby_2_7 + +# We want to be notified when something happens. +notifications: + irc: + channels: + - "chat.freenode.net#ruby-core" + on_success: change # [always|never|change] # default: always + on_failure: always # [always|never|change] # default: always + template: + - "%{message} by @%{author}: See %{build_url}" + + webhooks: + urls: + - secure: mRsoS/UbqDkKkW5p3AEqM27d4SZnV6Gsylo3bm8T/deltQzTsGzZwrm7OIBXZv0UFZdE68XmPlyHfZFLSP2V9QZ7apXMf9/vw0GtcSe1gchtnjpAPF6lYBn7nMCbVPPx9cS0dwL927fjdRM1vj7IKZ2bk4F0lAJ25R25S6teqdk= # ruby-lang slack: ruby/simpler-alerts-bot (travis) + on_success: never + on_failure: always + + email: + - ko1c-failure@a... -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/