[前][次][番号順一覧][スレッド一覧]

ruby-changes:66359

From: =E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3 <ko1@a...>
Date: Tue, 25 May 2021 19:38:26 +0900 (JST)
Subject: [ruby-changes:66359] 83efb2e47c (master): .travis.yml: Ubuntu 20.04 Focal Fossa

https://git.ruby-lang.org/ruby.git/commit/?id=83efb2e47c

From 83efb2e47cd5648dfff3d416820003b44f77bb44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
 <shyouhei@r...>
Date: Mon, 1 Jun 2020 10:44:08 +0900
Subject: .travis.yml: Ubuntu 20.04 Focal Fossa

This is a LTS.  Must be better than Xenial.
---
 .travis.yml | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 239 insertions(+), 27 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index d480307..a4a21b3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -21,7 +21,7 @@ language: c https://github.com/ruby/ruby/blob/trunk/.travis.yml#L21
 
 os: linux
 
-dist: xenial
+dist: focal
 
 git:
   quiet: true
@@ -58,52 +58,45 @@ env: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L58
     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
+  - &gcc-9
+    compiler: gcc-9
     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
+        gcc-9
+        g++-9
         libffi-dev
         libgdbm-dev
         libncurses5-dev
         libncursesw5-dev
-        libreadline6-dev
+        libreadline-dev
         libssl-dev
         libyaml-dev
         openssl
         zlib1g-dev
 
-  - &clang-8
-    compiler: clang-8
+  - &clang-10
+    compiler: clang-10
     addons:
       apt:
         # Not doing this manually unlike other sources, because it has been stable.
         sources:
-          - llvm-toolchain-xenial-8
+          - llvm-toolchain-xenial-10
         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
+        clang-10
+        llvm-10-tools
         libffi-dev
         libgdbm-dev
         libncurses5-dev
         libncursesw5-dev
-        libreadline6-dev
+        libreadline8-dev
         libssl-dev
         libyaml-dev
         openssl
@@ -113,21 +106,145 @@ env: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L106
 
   - &x86_64-linux
     name: x86_64-linux
-    <<: *gcc-8
+    <<: *gcc-9
 
   - &arm64-linux
     name: arm64-linux
     arch: arm64
-    <<: *gcc-8
+    <<: *gcc-9
 
   - &s390x-linux
     name: s390x-linux
     arch: s390x
-    <<: *gcc-8
+    <<: *gcc-9
+
+  - &jemalloc
+    name: --with-jemalloc
+    <<: *gcc-9
+    <<: *cron-only
+    env:
+      - CONFIG_FLAG='--with-gmp --with-jemalloc --with-valgrind'
+
+  - &assertions
+    name: RUBY_DEBUG=1
+    <<: *gcc-9
+    #<<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cppflags='-DRUBY_DEBUG -DVM_CHECK_MODE=1 -DTRANSIENT_HEAP_CHECK_MODE -DRGENGC_CHECK_MODE -DENC_DEBUG'
+
+  - &VM_CHECK_MODE
+    name: VM_CHECK_MODE=3
+    <<: *gcc-9
+    <<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cppflags=-DVM_CHECK_MODE=0x0003
+
+  - &SUPPORT_JOKE
+    name: SUPPORT_JOKE
+    <<: *gcc-9
+    <<: *cron-only
+    <<: *make-test-only
+    env:
+      - BEFORE_INSTALL="sed vm_opts.h -e 's/OPT_SUPPORT_JOKE *0/OPT_SUPPORT_JOKE 1/' -i"
+
+  - &CPDEBUG
+    name: CPDEBUG
+    <<: *gcc-9
+    <<: *cron-only
+    <<: *make-test-only
+    env:
+      - cppflags=-DCPDEBUG
+
+  - &WITH_COROUTINE_UCONTEXT
+    name: COROUTINE=ucontext
+    <<: *gcc-9
+    <<: *cron-only
+    env:
+      - CONFIG_FLAG='--with-coroutine=ucontext'
+
+  - &WITH_COROUTINE_COPY
+    name: COROUTINE=copy
+    <<: *gcc-9
+    <<: *cron-only
+    env:
+      - CONFIG_FLAG='--with-coroutine=copy'
+
+  - &TOKEN_THREADED_CODE
+    name: TOKEN_THREADED_CODE
+    <<: *gcc-9
+    <<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cppflags=-DOPT_THREADED_CODE=1
+
+  - &CALL_THREADED_CODE
+    name: CALL_THREADED_CODE
+    <<: *gcc-9
+    <<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cppflags=-DOPT_THREADED_CODE=2
+
+  - &NO_THREADED_CODE
+    name: NO_THREADED_CODE
+    <<: *gcc-9
+    <<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cppflags=-DOPT_THREADED_CODE=3
+
+  - &ASAN
+    name: -fsanitize=address
+    <<: *clang-8
+    #<<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - ASAN_OPTIONS=detect_leaks=0
+      - cflags='-U_FORTIFY_SOURCE -march=native -fsanitize=address -fno-omit-frame-pointer -fPIC'
+      - debugflags=-ggdb3
+      - optflags=-O1
+      - LD=clang-8
+      - LDFLAGS='-fsanitize=address -fPIC'
+      - CONFIG_FLAG='--with-out-ext=openssl --without-gmp --without-jemalloc --without-valgrind'
+
+  - &MSAN
+    name: -fsanitize=memory
+    <<: *clang-8
+    #<<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cflags='-U_FORTIFY_SOURCE -fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -fPIC'
+      - optflags=-O1
+      - LD=clang-8
+      - LDFLAGS='-fsanitize=memory -fPIC'
+      - CONFIG_FLAG='--with-out-ext=openssl --without-gmp --without-jemalloc --without-valgrind'
+
+  - &UBSAN
+    name: -fsanitize=undefined
+    <<: *clang-8
+    #<<: *cron-only
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - cflags='-U_FORTIFY_SOURCE -fsanitize=undefined,integer,nullability -fno-sanitize=implicit-integer-sign-change,unsigned-integer-overflow'
+      - cppflags=-DUNALIGNED_WORD_ACCESS=0
+      - debugflags=-ggdb3
+      - optflags='-O1 -march=native'
+      - LD=clang-8
+      - LDFLAGS='-fsanitize=undefined,integer,nullability -fno-sanitize=implicit-integer-sign-change,unsigned-integer-overflow'
 
   - &i686-linux
     name: i686-linux
-    compiler: gcc-8
+    compiler: gcc-9
     env:
       - GCC_FLAGS=-m32
       - CXX='g++-8 -m32'
@@ -143,7 +260,7 @@ env: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L260
       - 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
+        gcc-9-multilib
         g++-8
         g++-8-multilib
         libstdc++-8-dev:i386
@@ -182,18 +299,113 @@ env: https://github.com/ruby/ruby/blob/trunk/.travis.yml#L299
         libffi-dev:armhf
         libffi6:armhf
         libgdbm-dev:armhf
-        libgdbm3:armhf
+        libgdbm6:armhf
         libncurses5-dev:armhf
         libncurses5:armhf
         libncursesw5-dev:armhf
-        libreadline6-dev:armhf
-        libreadline6:armhf
+        libreadline8-dev:armhf
+        libreadline8:armhf
         libssl-dev:armhf
         libssl1.0.0:armhf
         linux-libc-dev:armhf
         zlib1g-dev:armhf
         zlib1g:armhf
 
+  - &pedanticism
+    name: -std=c99 -pedantic
+    compiler: clang
+    <<: *make-test-only
+    env:
+      - GEMS_FOR_TEST=
+      - GCC_FLAGS='-std=c99 -Werror=pedantic -pedantic-errors'
+      - CONFIG_FLAG=
+      - JOBS=
+      - >-
+        warnflags='
+        -Wall
+        -Wextra
+        -Werror=deprecated-declarations
+        -Werror=division-by-zero
+        -Werror=extra-tokens
+        -Werror=implicit-function-declaration
+        -Werror=implicit-int
+        -Werror=pointer-arith
+        -Werror=shorten-64-to-32
+        -Werror=write-strings
+        -Wmissing-noreturn
+        -Wno-constant-logical-operand
+        -Wno-missing-field-initializers
+        -Wno-overlength-strings
+        -Wno-parentheses-equality
+        -Wno-self-assign
+        -Wno-tautological-compare
+        -Wno-unused-local-typedef
+        -Wno-unused-parameter
+        -Wunused-variable'
+      - LDFLAGS=-Wno-unused-command-line-argument
+
+  - &spec-on-old-ruby
+    language: ruby
+    before_install:
+    install:
+    before_script: chmod -R u+w spec/ruby
+    # -j randomly hangs.
+    script: ruby -C spec/ruby ../mspec/bin/mspec .
+
+  - &rubyspec25
+    name: Check ruby/spec version guards on Ruby 2.5
+    rvm: 2.5.7
+    <<: *spec-on-old-ruby
+    after_failure:
+      - echo "ruby/spec failed on Ruby 2.5. This is likely because of a missing ruby_version_is guard, please add it. See spec/README.md."
+
+  - &rubyspec27
+    name: Check ruby/spec version guards on Ruby 2.7
+    rvm: 2.7.0
+    <<: *spec-on-old-ruby
+    after_failure:
+      - echo "ruby/spec failed on Ruby 2.7. This is likely because of a missing ruby_version_is guard, please add it. See spec/README.md."
+
+  - &baseruby
+    name: "BASERUBY: Ruby 2.2"
+    <<: *gcc-9
+    <<: *make-test-only
+    language: ruby
+    rvm: 2.2
+
+  - &dependency
+    name: Check dependencies in makefiles
+    language: ruby
+    before_install:
+    install:
+    before_script:
+      - |-
+        ruby -e 'new = []
+          Dir.glob("ext/**/extconf.rb") {|ex|
+            unless File.exist?(dep = File.dirname(ex)+"/depend")
+              puts "Adding "+dep
+              File.copy_stream("template/depend.tmpl", dep)
+              new << dep
+            end
+          }
+          exec("git", "add", *new) unless new.empty?'
+      - git diff --cached
+      - "> 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
+      - $SETARCH ./configure -C --disable-install-doc --prefix=$RUBY_PREFIX --disable-rubyg (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]