From 6693343c9d1488df0b1c2beb93361cee20e5ead6 Mon Sep 17 00:00:00 2001 From: John Woods Date: Fri, 15 Dec 2017 12:06:40 -0600 Subject: [PATCH 1/5] Attempt to update travis for recent versions of Ruby and Mac OS X --- .travis.yml | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index a81c0fbb..7e99ba6d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ cache: bundler os: - linux - osx -osx_image: xcode7.2 env: - USE_ATLAS=1 # This configuration installs ATLAS, builds and tests the nmatrix, nmatrix-atlas, and nmatrix-lapacke gems - USE_OPENBLAS=1 # Installs OpenBLAS and reference LAPACK, builds and tests nmatrix, nmatrix-lapacke @@ -12,14 +11,11 @@ env: - NO_EXTERNAL_LIB=1 # No external libraries installed, only nmatrix rvm: - 2.0.0-p648 - - 2.1.8 - - 2.2.4 - - 2.3.0 - - 2.4.2 + - 2.1.10 + - 2.2.9 + - 2.3.5 + - 2.4.3 - ruby-head - # The latest stable and head versions built by clang - - 2.3.0-clang - - ruby-head-clang # JRuby versions --- experimental, pending merging Prasun's GSoC project. - jruby-9.0.5.0 # earliest supported version (uncomment when jruby-head is passing) - jruby-head # latest supported JRuby @@ -53,11 +49,11 @@ matrix: - os: osx rvm: 2.0.0-p648 - os: osx - rvm: 2.1.8 + rvm: 2.1.10 - os: osx - rvm: 2.2.4 + rvm: 2.2.9 - os: osx - rvm: 2.3.0 + rvm: 2.3.5 - os: osx rvm: ruby-head - os: osx @@ -75,51 +71,56 @@ matrix: include: # The latest stable and head versions of ruby built by clang on OSX - os: osx + osx_image: xcode9.2 compiler: clang - rvm: 2.2 + rvm: 2.5 env: - - ruby_version=2.4.0-dev USE_OPENBLAS=1 + - ruby_version=2.5.0-dev USE_OPENBLAS=1 - os: osx + osx_image: xcode9.2 compiler: clang - rvm: 2.2 + rvm: 2.5 env: - - ruby_version=2.4.0-dev NO_EXTERNAL_LIB=1 + - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 - os: osx + osx_image: xcode9.2 compiler: clang - rvm: 2.2 + rvm: 2.3 env: - ruby_version=2.3.0 USE_OPENBLAS=1 - os: osx + osx_image: xcode9.2 compiler: clang - rvm: 2.2 + rvm: 2.3 env: - ruby_version=2.3.0 NO_EXTERNAL_LIB=1 # The latest version of Ruby 2.2.x built by clang on OSX - os: osx + osx_image: xcode9.2 compiler: clang rvm: 2.2 env: - - ruby_version=2.2.4 USE_OPENBLAS=1 + - ruby_version=2.2.9 USE_OPENBLAS=1 # The latest version of Ruby 2.1.x built by clang on OSX - os: osx + osx_image: xcode9.2 compiler: clang - rvm: 2.2 + rvm: 2.1 env: - ruby_version=2.1.8 USE_OPENBLAS=1 allow_failures: # trunk - rvm: ruby-head - - rvm: ruby-head-clang - os: osx compiler: clang - rvm: 2.2 + rvm: 2.5 env: - - ruby_version=2.4.0-dev USE_OPENBLAS=1 + - ruby_version=2.5.0-dev USE_OPENBLAS=1 - os: osx compiler: clang - rvm: 2.2 + rvm: 2.5 env: - - ruby_version=2.4.0-dev NO_EXTERNAL_LIB=1 + - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 notifications: irc: "chat.freenode.net#sciruby" From d143d35448103852a4410897c95ae0a85bf35122 Mon Sep 17 00:00:00 2001 From: John Woods Date: Fri, 15 Dec 2017 13:23:18 -0600 Subject: [PATCH 2/5] Attempt to just get Mac Travis working --- .travis.yml | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7e99ba6d..890b683a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: ruby sudo: required cache: bundler os: - - linux + #- linux - osx env: - USE_ATLAS=1 # This configuration installs ATLAS, builds and tests the nmatrix, nmatrix-atlas, and nmatrix-lapacke gems @@ -75,39 +75,51 @@ matrix: compiler: clang rvm: 2.5 env: - - ruby_version=2.5.0-dev USE_OPENBLAS=1 + - ruby_version=2.5.0-dev USE_OPENBLAS=1 CC=clang CXX=clang++ - os: osx osx_image: xcode9.2 compiler: clang rvm: 2.5 env: - - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 + - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ + - os: osx + osx_image: xcode9.2 + compiler: clang + rvm: 2.4 + env: + - ruby_version=2.4.3 USE_OPENBLAS=1 CC=clang CXX=clang++ + - os: osx + osx_image: xcode9.2 + compiler: clang + rvm: 2.4 + env: + - ruby_version=2.4.3 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ - os: osx osx_image: xcode9.2 compiler: clang rvm: 2.3 env: - - ruby_version=2.3.0 USE_OPENBLAS=1 + - ruby_version=2.3.0 USE_OPENBLAS=1 CC=clang CXX=clang++ - os: osx osx_image: xcode9.2 compiler: clang rvm: 2.3 env: - - ruby_version=2.3.0 NO_EXTERNAL_LIB=1 + - ruby_version=2.3.0 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ # The latest version of Ruby 2.2.x built by clang on OSX - os: osx osx_image: xcode9.2 compiler: clang rvm: 2.2 env: - - ruby_version=2.2.9 USE_OPENBLAS=1 + - ruby_version=2.2.9 USE_OPENBLAS=1 CC=clang CXX=clang++ # The latest version of Ruby 2.1.x built by clang on OSX - os: osx osx_image: xcode9.2 compiler: clang rvm: 2.1 env: - - ruby_version=2.1.8 USE_OPENBLAS=1 + - ruby_version=2.1.8 USE_OPENBLAS=1 CC=clang CXX=clang++ allow_failures: # trunk - rvm: ruby-head @@ -115,12 +127,12 @@ matrix: compiler: clang rvm: 2.5 env: - - ruby_version=2.5.0-dev USE_OPENBLAS=1 + - ruby_version=2.5.0-dev USE_OPENBLAS=1 CC=clang CXX=clang++ - os: osx compiler: clang rvm: 2.5 env: - - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 + - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ notifications: irc: "chat.freenode.net#sciruby" From 9c54293c74b3a725a9d85c233446fcfc5c764155 Mon Sep 17 00:00:00 2001 From: John Woods Date: Mon, 18 Dec 2017 10:57:12 -0600 Subject: [PATCH 3/5] Attempting with -clang versions of Ruby on Mac OS X --- .travis.yml | 61 ++++++++++++++++++++++++----------------------------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/.travis.yml b/.travis.yml index 890b683a..dae553b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,11 +10,11 @@ env: - USE_REF=1 # Installs OpenBLAS and reference LAPACK, builds and tests nmatrix, nmatrix-lapacke - NO_EXTERNAL_LIB=1 # No external libraries installed, only nmatrix rvm: - - 2.0.0-p648 - - 2.1.10 - - 2.2.9 - - 2.3.5 - - 2.4.3 + - 2.0 + - 2.1 + - 2.2 + - 2.3 + - 2.4 - ruby-head # JRuby versions --- experimental, pending merging Prasun's GSoC project. - jruby-9.0.5.0 # earliest supported version (uncomment when jruby-head is passing) @@ -45,21 +45,12 @@ matrix: env: USE_OPENBLAS=1 - rvm: jruby-9.0.5.0 env: USE_REF=1 - # NOTE: The following two ruby versions on OSX are currently unavailable + # NOTE: The following ruby versions on OSX are currently unavailable + # NOTE: See list: http://rubies.travis-ci.org/ - os: osx - rvm: 2.0.0-p648 + rvm: 2.0 - os: osx - rvm: 2.1.10 - - os: osx - rvm: 2.2.9 - - os: osx - rvm: 2.3.5 - - os: osx - rvm: ruby-head - - os: osx - rvm: 2.3.0-clang - - os: osx - rvm: ruby-head-clang + rvm: 2.5 # FIXME: The following configuration is unavailable because ATLAS should be built from source. # We need homebrew formula for ATLAS and its bottle. - os: osx @@ -73,46 +64,48 @@ matrix: - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.5 + rvm: ruby-head-clang env: - - ruby_version=2.5.0-dev USE_OPENBLAS=1 CC=clang CXX=clang++ + - ruby_version=2.5.0 USE_OPENBLAS=1 CC=clang CXX=clang++ - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.5 + rvm: ruby-head-clang env: - - ruby_version=2.5.0-dev NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ + - ruby_version=2.5.0 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ + # The latest version of Ruby 2.4.x built by clang on OSX - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.4 + rvm: 2.4.1-clang env: - - ruby_version=2.4.3 USE_OPENBLAS=1 CC=clang CXX=clang++ + - ruby_version=2.4.1 USE_OPENBLAS=1 CC=clang CXX=clang++ - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.4 + rvm: 2.4.1-clang env: - - ruby_version=2.4.3 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ + - ruby_version=2.4.1 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ + # The latest version of Ruby 2.3.x built by clang on OSX - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.3 + rvm: 2.3.4-clang env: - - ruby_version=2.3.0 USE_OPENBLAS=1 CC=clang CXX=clang++ + - ruby_version=2.3.4 USE_OPENBLAS=1 CC=clang CXX=clang++ - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.3 + rvm: 2.3.4-clang env: - - ruby_version=2.3.0 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ - # The latest version of Ruby 2.2.x built by clang on OSX + - ruby_version=2.3.4 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ + # The latest version of Ruby 2.2.x built by clang on OSX - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.2 + rvm: 2.2.7-clang env: - - ruby_version=2.2.9 USE_OPENBLAS=1 CC=clang CXX=clang++ + - ruby_version=2.2.7 USE_OPENBLAS=1 CC=clang CXX=clang++ # The latest version of Ruby 2.1.x built by clang on OSX - os: osx osx_image: xcode9.2 @@ -121,7 +114,7 @@ matrix: env: - ruby_version=2.1.8 USE_OPENBLAS=1 CC=clang CXX=clang++ allow_failures: - # trunk + # trunk - rvm: ruby-head - os: osx compiler: clang From 4be75b2420a1b6733f76826a7551ab8ce48103b3 Mon Sep 17 00:00:00 2001 From: John Woods Date: Mon, 18 Dec 2017 11:33:52 -0600 Subject: [PATCH 4/5] Exclude GCC Ruby versions from OSX testing --- .travis.yml | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index dae553b7..32d30e92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,12 +10,20 @@ env: - USE_REF=1 # Installs OpenBLAS and reference LAPACK, builds and tests nmatrix, nmatrix-lapacke - NO_EXTERNAL_LIB=1 # No external libraries installed, only nmatrix rvm: + # The specific versions with clang specified are for Mac. The versions without + # -clang are for linux systems. In the matrix, make sure to exclude each non-clang + # osx combination. - 2.0 - 2.1 + - 2.1.10-clang - 2.2 + - 2.2.7-clang - 2.3 + - 2.3.4-clang - 2.4 + - 2.4.1-clang - ruby-head + - ruby-head-clang # JRuby versions --- experimental, pending merging Prasun's GSoC project. - jruby-9.0.5.0 # earliest supported version (uncomment when jruby-head is passing) - jruby-head # latest supported JRuby @@ -49,6 +57,16 @@ matrix: # NOTE: See list: http://rubies.travis-ci.org/ - os: osx rvm: 2.0 + # NOTE: The following ruby versions are GCC are we don't want to do + # these ones with osx, which has clang. + - os: osx + rvm: 2.1 + - os: osx + rvm: 2.2 + - os: osx + rvm: 2.3 + - os: osx + rvm: 2.4 - os: osx rvm: 2.5 # FIXME: The following configuration is unavailable because ATLAS should be built from source. @@ -106,13 +124,25 @@ matrix: rvm: 2.2.7-clang env: - ruby_version=2.2.7 USE_OPENBLAS=1 CC=clang CXX=clang++ + - os: osx + osx_image: xcode9.2 + compiler: clang + rvm: 2.2.7-clang + env: + - ruby_version=2.2.7 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ # The latest version of Ruby 2.1.x built by clang on OSX - os: osx osx_image: xcode9.2 compiler: clang - rvm: 2.1 + rvm: 2.1.10-clang + env: + - ruby_version=2.1.10 USE_OPENBLAS=1 CC=clang CXX=clang++ + - os: osx + osx_image: xcode9.2 + compiler: clang + rvm: 2.1.10-clang env: - - ruby_version=2.1.8 USE_OPENBLAS=1 CC=clang CXX=clang++ + - ruby_version=2.1.10 NO_EXTERNAL_LIB=1 CC=clang CXX=clang++ allow_failures: # trunk - rvm: ruby-head From 5ee9dae7dfc2ce9953e2cd29ef5b36ac657ad2de Mon Sep 17 00:00:00 2001 From: John Woods Date: Mon, 18 Dec 2017 11:38:38 -0600 Subject: [PATCH 5/5] Exclude clang versions that lack a compiler attachment --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 32d30e92..401652f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,6 +69,13 @@ matrix: rvm: 2.4 - os: osx rvm: 2.5 + # NOTE: The following ruby versions we need to explicitly override + # and use clang with. + - rvm: 2.1.10-clang + - rvm: 2.2.7-clang + - rvm: 2.3.4-clang + - rvm: 2.4.1-clang + - rvm: ruby-head-clang # FIXME: The following configuration is unavailable because ATLAS should be built from source. # We need homebrew formula for ATLAS and its bottle. - os: osx