From e1a5cdaf089eb55b351ab141f41b386106b5fcfc Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 19 Sep 2019 15:14:07 +0100 Subject: [PATCH 01/49] Fix an error found by lgtm --- tools/rdm/TestDefinitions.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/rdm/TestDefinitions.py b/tools/rdm/TestDefinitions.py index bcec44ce19..54dc2e1cd6 100644 --- a/tools/rdm/TestDefinitions.py +++ b/tools/rdm/TestDefinitions.py @@ -253,7 +253,6 @@ class DUBSingleUID(TestMixins.DiscoveryMixin, ResponderTestFixture): """Confirm the device responds to just it's own range.""" CATEGORY = TestCategory.NETWORK_MANAGEMENT - CATEGORY = TestCategory.NETWORK_MANAGEMENT REQUIRES = ['dub_supported'] + TestMixins.DiscoveryMixin.REQUIRES def LowerBound(self): From 6cbda5664e2f293a461636b31aec199541859a0f Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 29 Sep 2019 02:26:27 +0100 Subject: [PATCH 02/49] Fix a typo --- include/ola/io/OutputStream.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/ola/io/OutputStream.h b/include/ola/io/OutputStream.h index bf6f6b1887..de0f439806 100644 --- a/include/ola/io/OutputStream.h +++ b/include/ola/io/OutputStream.h @@ -14,7 +14,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * OutputStream.h - * A class that you can write structed data to. + * A class that you can write structured data to. * Copyright (C) 2012 Simon Newton */ From fceccaceacedafd0d5e78e04779032a2d477b282 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 29 Sep 2019 05:48:38 +0100 Subject: [PATCH 03/49] Fix a typo Also update the text about how we pick plugin IDs --- plugins/osc/README | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/osc/README b/plugins/osc/README index 9618ecca0c..ba8ce38498 100644 --- a/plugins/osc/README +++ b/plugins/osc/README @@ -215,9 +215,8 @@ Chapter 2, Plugin Boilerplate 2.1 Plugin ID ------------- -We need to reserve a plugin ID in common/protocol/Ola.proto . Before you pick a -plugin id please send a message to the open-lighting@googlegroups.com list so -we can co-ordinate plugin IDs. +We need to reserve a plugin ID in common/protocol/Ola.proto . Please see the +note in that file regarding how we coordinate assigning plugin IDs. Once we've assigned a plugin id, we can run `make` in the top directory. This will update include/ola/plugin_id.h. You'll notice plugin_id.h isn't included From ebb74ec54c473bb7b150f1adc53f809642107e73 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 1 Oct 2019 04:35:55 +0100 Subject: [PATCH 04/49] Run the quick, simple jobs first; cache homebrew bottles --- .travis.yml | 94 +++++++++++++++++++++++++++-------------------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/.travis.yml b/.travis.yml index 555c30d4f8..0e9b6e68a2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,52 @@ addons: matrix: fast_finish: true include: + - os: linux + dist: xenial + env: TASK='doxygen' + addons: + apt: + packages: + - *core_build_gpp_latest + - doxygen + - graphviz + sources: + - ubuntu-toolchain-r-test + - os: linux + dist: xenial + env: TASK='lint' + addons: + apt: + packages: + - *core_build + - os: linux + dist: xenial + env: TASK='check-licences' + addons: + apt: + packages: + - *core_build + - os: linux + dist: xenial + env: TASK='codespell' + addons: + apt: + packages: + - *core_build + - moreutils + - os: linux + dist: xenial + env: TASK='jshint' + addons: + apt: + packages: + - os: linux + dist: xenial + env: TASK='flake8' + addons: + apt: + packages: + - *base_build - os: osx osx_image: xcode9.3 compiler: clang @@ -130,31 +176,6 @@ matrix: - g++-4.9 sources: - ubuntu-toolchain-r-test - - os: linux - dist: xenial - env: TASK='doxygen' - addons: - apt: - packages: - - *core_build_gpp_latest - - doxygen - - graphviz - sources: - - ubuntu-toolchain-r-test - - os: linux - dist: xenial - env: TASK='lint' - addons: - apt: - packages: - - *core_build - - os: linux - dist: xenial - env: TASK='check-licences' - addons: - apt: - packages: - - *core_build - os: linux dist: xenial env: TASK='spellintian' @@ -171,27 +192,6 @@ matrix: packages: - *core_build - moreutils - - os: linux - dist: xenial - env: TASK='codespell' - addons: - apt: - packages: - - *core_build - - moreutils - - os: linux - dist: xenial - env: TASK='jshint' - addons: - apt: - packages: - - os: linux - dist: xenial - env: TASK='flake8' - addons: - apt: - packages: - - *base_build allow_failures: - os: linux dist: xenial @@ -236,9 +236,11 @@ cache: - $HOME/.cache/pip # pip cache - $HOME/.npm # npm cache - $HOME/.ccache # ccache cache + - $HOME/Library/Caches/Homebrew # homebrew bottle cache before_cache: - rm -f $HOME/.cache/pip/log/debug.log # erase log + - brew cleanup # avoid caching old package versions - ccache -s # see how many hits ccache got install: From 3fe0738b7ee595e68cc1a9af40f0b50b6b6662ee Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 1 Oct 2019 04:37:40 +0100 Subject: [PATCH 05/49] Move Linux builds above Mac as they're generally quicker --- .travis.yml | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0e9b6e68a2..11180b80f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -89,6 +89,29 @@ matrix: apt: packages: - *base_build + - os: linux + dist: xenial + compiler: clang + env: TASK='compile' + python: '2.7' + addons: + apt: + packages: + - *core_build_clang_latest + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-xenial-6.0 + - os: linux + dist: xenial + compiler: gcc + env: TASK='compile' + python: '2.7' + addons: + apt: + packages: + - *core_build_gpp_latest + sources: + - ubuntu-toolchain-r-test - os: osx osx_image: xcode9.3 compiler: clang @@ -131,29 +154,6 @@ matrix: - TASK='compile' - CPPUNIT='1.14' - LIBFTDI='1' - - os: linux - dist: xenial - compiler: clang - env: TASK='compile' - python: '2.7' - addons: - apt: - packages: - - *core_build_clang_latest - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-xenial-6.0 - - os: linux - dist: xenial - compiler: gcc - env: TASK='compile' - python: '2.7' - addons: - apt: - packages: - - *core_build_gpp_latest - sources: - - ubuntu-toolchain-r-test - os: linux dist: xenial compiler: gcc From 7e557ad569c547b45fe7837f5a84a818e2a3ea74 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 1 Oct 2019 04:49:20 +0100 Subject: [PATCH 06/49] Tidy the caching config to the new syntax --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 11180b80f3..d1aaa4977e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -232,10 +232,10 @@ env: cache: apt: true + ccache: true + npm: true + pip: true directories: - - $HOME/.cache/pip # pip cache - - $HOME/.npm # npm cache - - $HOME/.ccache # ccache cache - $HOME/Library/Caches/Homebrew # homebrew bottle cache before_cache: @@ -261,13 +261,13 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache bison flex protobuf@3.1 liblo libmicrohttpd; fi # ossp-uuid, homebrew/python/numpy and libusb already present + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - if [ "$TRAVIS_OS_NAME" == "osx" -a "$LIBFTDI" != "1" ]; then brew install libftdi0; fi # install libftdi0 - if [ "$TRAVIS_OS_NAME" == "osx" -a "$LIBFTDI" == "1" ]; then brew install libftdi; fi # install the latest libftdi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" == "1.14" ]; then brew install cppunit; fi # install the latest cppunit, which needs C++11 - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-8" CC="ccache gcc-8"; fi - if [ "$TASK" = "coverity" -a "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi From b4317432517e0888d4fe9f250030270106d4bbcd Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 1 Oct 2019 06:12:05 +0100 Subject: [PATCH 07/49] Switch to the homebrew addon where possible to install packages --- .travis.yml | 86 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 69 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index d1aaa4977e..10395be78c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,20 @@ addons: packages: &core_build_clang_latest - *core_build - clang-6.0 + homebrew: + packages: &mac_core_build + - ccache + # This is all the bits we need to enable all options on Mac + - bison + - flex + - protobuf@3.1 + - liblo + - libmicrohttpd + - ossp-uuid + - homebrew/python/numpy + - libusb + packages: &mac_cppunit_113 + - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support matrix: fast_finish: true @@ -119,6 +133,13 @@ matrix: - TASK='compile' - CPPUNIT='1.13' - LIBFTDI='0' + addons: + homebrew: + packages: + - *mac_core_build + - *mac_cppunit_113 + - libftdi0 + update: true - os: osx osx_image: xcode9.3 compiler: clang @@ -126,6 +147,13 @@ matrix: - TASK='compile' - CPPUNIT='1.14' - LIBFTDI='0' + addons: + homebrew: + packages: + - *mac_core_build + - cppunit + - libftdi0 + update: true - os: osx osx_image: xcode9.3 compiler: gcc @@ -133,6 +161,13 @@ matrix: - TASK='compile' - CPPUNIT='1.13' - LIBFTDI='0' + addons: + homebrew: + packages: + - *mac_core_build + - *mac_cppunit_113 + - libftdi0 + update: true - os: osx osx_image: xcode9.3 compiler: gcc @@ -140,6 +175,13 @@ matrix: - TASK='compile' - CPPUNIT='1.14' - LIBFTDI='0' + addons: + homebrew: + packages: + - *mac_core_build + - cppunit + - libftdi0 + update: true - os: osx osx_image: xcode9.3 compiler: clang @@ -147,6 +189,13 @@ matrix: - TASK='compile' - CPPUNIT='1.14' - LIBFTDI='1' + addons: + homebrew: + packages: + - *mac_core_build + - cppunit + - libftdi # install the latest cppunit, which needs C++11 + update: true - os: osx osx_image: xcode9.3 compiler: gcc @@ -154,6 +203,13 @@ matrix: - TASK='compile' - CPPUNIT='1.14' - LIBFTDI='1' + addons: + homebrew: + packages: + - *mac_core_build + - cppunit + - libftdi # install the latest cppunit, which needs C++11 + update: true - os: linux dist: xenial compiler: gcc @@ -243,39 +299,35 @@ before_cache: - brew cleanup # avoid caching old package versions - ccache -s # see how many hits ccache got -install: -# Match the version of protobuf being installed via apt - - pip install --user protobuf==3.1.0 -# We need to use pip rather than apt on Xenial - - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user numpy; fi - - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi - - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi - before_install: - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi #Fix a broken homebrew libtool install - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew reinstall libtool; fi #Fix a broken homebrew python upgrade - see https://github.com/Homebrew/homebrew-core/issues/26358 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache bison flex protobuf@3.1 liblo libmicrohttpd; fi # ossp-uuid, homebrew/python/numpy and libusb already present - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - - if [ "$TRAVIS_OS_NAME" == "osx" -a "$LIBFTDI" != "1" ]; then brew install libftdi0; fi # install libftdi0 - - if [ "$TRAVIS_OS_NAME" == "osx" -a "$LIBFTDI" == "1" ]; then brew install libftdi; fi # install the latest libftdi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi - - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support - - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" == "1.14" ]; then brew install cppunit; fi # install the latest cppunit, which needs C++11 #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-8" CC="ccache gcc-8"; fi - if [ "$TASK" = "coverity" -a "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi #Use the latest clang if we're compiling with clang - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" = "clang++" ]; then export CXX="clang++-6.0" CC="clang-6.0"; fi + - if [ "$TASK" == "spellintian" -o "$TASK" == "spellintian-duplicates" ]; then wget "http://archive.ubuntu.com/ubuntu/pool/main/l/lintian/lintian_2.5.104_all.deb"; sudo dpkg -i lintian_*.deb; sudo apt-get install -f -y; fi # Install a later lintian + +install: +# Match the version of protobuf being installed via apt + - pip install --user protobuf==3.1.0 +# We need to use pip rather than apt on Xenial + - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user numpy; fi + - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi + - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi + - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi + - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi + +after_install: #Report the compiler version - $CXX --version - - if [ "$TASK" == "spellintian" -o "$TASK" == "spellintian-duplicates" ]; then wget "http://archive.ubuntu.com/ubuntu/pool/main/l/lintian/lintian_2.5.104_all.deb"; sudo dpkg -i lintian_*.deb; sudo apt-get install -f -y; fi # Install a later lintian after_failure: # Disabled as otherwise the logfile is too big From 65ef581de7769fa2d1a6c1072f7a2919dcdee1bf Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 2 Oct 2019 14:05:37 +0100 Subject: [PATCH 08/49] Fix the cppunit 13 URL --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 10395be78c..6444e18d48 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,7 +52,7 @@ addons: - homebrew/python/numpy - libusb packages: &mac_cppunit_113 - - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support + - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support matrix: fast_finish: true From fd4ca0fba676491dd40cbf0d43ae9a850f35a638 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 2 Oct 2019 14:08:30 +0100 Subject: [PATCH 09/49] Alternate by compiler, then options --- .travis.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6444e18d48..242efe2eb0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -142,30 +142,31 @@ matrix: update: true - os: osx osx_image: xcode9.3 - compiler: clang + compiler: gcc env: - TASK='compile' - - CPPUNIT='1.14' + - CPPUNIT='1.13' - LIBFTDI='0' addons: homebrew: packages: - *mac_core_build - - cppunit + - *mac_cppunit_113 - libftdi0 update: true + - os: osx osx_image: xcode9.3 - compiler: gcc + compiler: clang env: - TASK='compile' - - CPPUNIT='1.13' + - CPPUNIT='1.14' - LIBFTDI='0' addons: homebrew: packages: - *mac_core_build - - *mac_cppunit_113 + - cppunit - libftdi0 update: true - os: osx From 7874a6215d121df7d7996b6f3fea2d36aa7dd595 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 2 Oct 2019 14:51:47 +0100 Subject: [PATCH 10/49] Try fixing the URL --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 242efe2eb0..b76333b8ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,7 +52,7 @@ addons: - homebrew/python/numpy - libusb packages: &mac_cppunit_113 - - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support + - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3^/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support matrix: fast_finish: true From c2f4d18ccff43262c81f3ff4be6ca0385ef51b19 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 3 Oct 2019 02:00:05 +0100 Subject: [PATCH 11/49] Try a final way for the older cppunit package --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b76333b8ce..e46ec59fd5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,7 +52,8 @@ addons: - homebrew/python/numpy - libusb packages: &mac_cppunit_113 - - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3^/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support + - https://raw.githubusercontent.com/Homebrew/homebrew-core/b998430/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support. + # This commit is equivalent to e6e43cf6a3^ (i.e. the last one pre 1.14) matrix: fast_finish: true From 64e0cb2997163f9a3d9acbae87a8e431cf2c5003 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 3 Oct 2019 02:43:16 +0100 Subject: [PATCH 12/49] Switch back to the old method for cppunit 1.13 The addon isn't working as intended. --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e46ec59fd5..0a89efc061 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,8 +52,8 @@ addons: - homebrew/python/numpy - libusb packages: &mac_cppunit_113 - - https://raw.githubusercontent.com/Homebrew/homebrew-core/b998430/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support. - # This commit is equivalent to e6e43cf6a3^ (i.e. the last one pre 1.14) + # Installing via the addon isn't currently working so do it the old fashioned way below + # - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3^/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support matrix: fast_finish: true @@ -326,6 +326,8 @@ install: - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi +# Installing via the addon isn't currently working so do it the old fashioned way + - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support after_install: #Report the compiler version From c8996225959e12dc20f099295500e0c06708e5bb Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Oct 2019 16:10:02 +0100 Subject: [PATCH 13/49] Build on Arm64 on Linux too --- .travis.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0a89efc061..485b6e115f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -106,6 +106,7 @@ matrix: - *base_build - os: linux dist: xenial + arch: amd64 compiler: clang env: TASK='compile' python: '2.7' @@ -118,6 +119,32 @@ matrix: - llvm-toolchain-xenial-6.0 - os: linux dist: xenial + arch: amd64 + compiler: gcc + env: TASK='compile' + python: '2.7' + addons: + apt: + packages: + - *core_build_gpp_latest + sources: + - ubuntu-toolchain-r-test + - os: linux + dist: xenial + arch: arm64 + compiler: clang + env: TASK='compile' + python: '2.7' + addons: + apt: + packages: + - *core_build_clang_latest + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-xenial-6.0 + - os: linux + dist: xenial + arch: arm64 compiler: gcc env: TASK='compile' python: '2.7' From 5d7d72ed2330ce3072c34849f9f765bd0b3f368a Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Oct 2019 16:12:57 +0100 Subject: [PATCH 14/49] Switch to a later spellintian via bionic --- .travis.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 485b6e115f..1de5e92c71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -262,20 +262,22 @@ matrix: sources: - ubuntu-toolchain-r-test - os: linux - dist: xenial + dist: bionic env: TASK='spellintian' addons: apt: packages: - *core_build + - lintian - moreutils - os: linux - dist: xenial + dist: bionic env: TASK='spellintian-duplicates' addons: apt: packages: - *core_build + - lintian - moreutils allow_failures: - os: linux @@ -287,10 +289,10 @@ matrix: compiler: gcc env: TASK='coverity' - os: linux - dist: xenial + dist: bionic env: TASK='spellintian' - os: linux - dist: xenial + dist: bionic env: TASK='spellintian-duplicates' env: @@ -342,7 +344,6 @@ before_install: - if [ "$TASK" = "coverity" -a "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi #Use the latest clang if we're compiling with clang - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" = "clang++" ]; then export CXX="clang++-6.0" CC="clang-6.0"; fi - - if [ "$TASK" == "spellintian" -o "$TASK" == "spellintian-duplicates" ]; then wget "http://archive.ubuntu.com/ubuntu/pool/main/l/lintian/lintian_2.5.104_all.deb"; sudo dpkg -i lintian_*.deb; sudo apt-get install -f -y; fi # Install a later lintian install: # Match the version of protobuf being installed via apt From 58b8e1d9c529b982d3d8c50ed7c3f9a8424ee283 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 03:39:00 +0100 Subject: [PATCH 15/49] Install pip on Bionic arm builds --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 1de5e92c71..fbfe5a0c76 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,6 +39,8 @@ addons: packages: &core_build_clang_latest - *core_build - clang-6.0 + packages: &bionic_build_extras + - python-pip homebrew: packages: &mac_core_build - ccache @@ -139,6 +141,7 @@ matrix: apt: packages: - *core_build_clang_latest + - *bionic_build_extras sources: - ubuntu-toolchain-r-test - llvm-toolchain-xenial-6.0 @@ -152,6 +155,7 @@ matrix: apt: packages: - *core_build_gpp_latest + - *bionic_build_extras sources: - ubuntu-toolchain-r-test - os: osx From e33337c3ae1fa638f0546ea4bb5d18ceb4398a3b Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 03:57:57 +0100 Subject: [PATCH 16/49] Install wheel before numpy on bionic --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index fbfe5a0c76..94f6df76d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -353,6 +353,7 @@ install: # Match the version of protobuf being installed via apt - pip install --user protobuf==3.1.0 # We need to use pip rather than apt on Xenial + - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user numpy; fi - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi From 398b727c971cbe875eccaca8ff9569b9faa7dc7f Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 04:16:38 +0100 Subject: [PATCH 17/49] Add python-dev --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 94f6df76d8..acc90de67b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,6 +41,8 @@ addons: - clang-6.0 packages: &bionic_build_extras - python-pip + # To compile numpy + - python-dev homebrew: packages: &mac_core_build - ccache From 1eab38977a0da66576a959af181f28791da5489e Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 04:53:05 +0100 Subject: [PATCH 18/49] Add missing libtool --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index acc90de67b..92869a9b58 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,8 @@ addons: - python-pip # To compile numpy - python-dev + # To fix the build/add missing components + - libtool homebrew: packages: &mac_core_build - ccache From f2c11132f68e4265b89638593f4b9053d6aff7a5 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 05:38:28 +0100 Subject: [PATCH 19/49] Only run brew cleanup if we're on a Mac --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 92869a9b58..0ea84f3339 100644 --- a/.travis.yml +++ b/.travis.yml @@ -335,7 +335,7 @@ cache: before_cache: - rm -f $HOME/.cache/pip/log/debug.log # erase log - - brew cleanup # avoid caching old package versions + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew cleanup; fi # avoid caching old package versions - ccache -s # see how many hits ccache got before_install: From a15b6051318a8a3b10447055dc1ecb85c639b77a Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 05:40:28 +0100 Subject: [PATCH 20/49] Add pkg-config for bionic --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 0ea84f3339..8cba09ca54 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,6 +45,7 @@ addons: - python-dev # To fix the build/add missing components - libtool + - pkg-config homebrew: packages: &mac_core_build - ccache From 62c3a6f41a5647dff30691834a86d7a1c03886ec Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 06:36:59 +0100 Subject: [PATCH 21/49] Switch more builds to bionic --- .travis.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8cba09ca54..92f28bdb85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,7 +66,7 @@ matrix: fast_finish: true include: - os: linux - dist: xenial + dist: bionic env: TASK='doxygen' addons: apt: @@ -77,21 +77,21 @@ matrix: sources: - ubuntu-toolchain-r-test - os: linux - dist: xenial + dist: bionic env: TASK='lint' addons: apt: packages: - *core_build - os: linux - dist: xenial + dist: bionic env: TASK='check-licences' addons: apt: packages: - *core_build - os: linux - dist: xenial + dist: bionic env: TASK='codespell' addons: apt: @@ -99,20 +99,20 @@ matrix: - *core_build - moreutils - os: linux - dist: xenial + dist: bionic env: TASK='jshint' addons: apt: packages: - os: linux - dist: xenial + dist: bionic env: TASK='flake8' addons: apt: packages: - *base_build - os: linux - dist: xenial + dist: bionic arch: amd64 compiler: clang env: TASK='compile' @@ -125,7 +125,7 @@ matrix: - ubuntu-toolchain-r-test - llvm-toolchain-xenial-6.0 - os: linux - dist: xenial + dist: bionic arch: amd64 compiler: gcc env: TASK='compile' @@ -137,7 +137,7 @@ matrix: sources: - ubuntu-toolchain-r-test - os: linux - dist: xenial + dist: bionic arch: arm64 compiler: clang env: TASK='compile' @@ -151,7 +151,7 @@ matrix: - ubuntu-toolchain-r-test - llvm-toolchain-xenial-6.0 - os: linux - dist: xenial + dist: bionic arch: arm64 compiler: gcc env: TASK='compile' @@ -191,7 +191,6 @@ matrix: - *mac_cppunit_113 - libftdi0 update: true - - os: osx osx_image: xcode9.3 compiler: clang From 3eca3a7c00e782f1640cece2351bb8ba39964f41 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 10:33:59 +0100 Subject: [PATCH 22/49] Install protobuf 3.1 via a different means as Homebrew have dropped it --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 92f28bdb85..b6154f0334 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,7 +52,8 @@ addons: # This is all the bits we need to enable all options on Mac - bison - flex - - protobuf@3.1 + # Installing via the addon isn't currently working so do it the old fashioned way below + # - https://github.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb - liblo - libmicrohttpd - ossp-uuid @@ -345,6 +346,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://github.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that From 38acafdb1eb074971fcddc3210e5efffa9b70d5d Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 11:42:17 +0100 Subject: [PATCH 23/49] Fix the URL to point to the raw version of the files --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b6154f0334..8579204958 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,7 +53,7 @@ addons: - bison - flex # Installing via the addon isn't currently working so do it the old fashioned way below - # - https://github.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb + # - https://raw.githubusercontent.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb - liblo - libmicrohttpd - ossp-uuid @@ -346,7 +346,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://github.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that From b62f59bef9dddb5b7101350fc300614c798c7928 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 16 Oct 2019 21:52:36 +0100 Subject: [PATCH 24/49] Really fix the URL --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8579204958..fa14379616 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,7 +53,7 @@ addons: - bison - flex # Installing via the addon isn't currently working so do it the old fashioned way below - # - https://raw.githubusercontent.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb + # - https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb - liblo - libmicrohttpd - ossp-uuid @@ -346,7 +346,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/blob/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that From deccc81457e31fc7d4dd240b5ac4aed10e614424 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Fri, 18 Oct 2019 02:19:34 +0100 Subject: [PATCH 25/49] Try and use an at sign to fix another issue --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fa14379616..6d67ab6b1b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -53,7 +53,7 @@ addons: - bison - flex # Installing via the addon isn't currently working so do it the old fashioned way below - # - https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb + # - https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb - liblo - libmicrohttpd - ossp-uuid @@ -346,7 +346,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf%403.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that From d3dd354814d64e8ab0c87cd8d2d9eecc2763432d Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Fri, 18 Oct 2019 04:43:57 +0100 Subject: [PATCH 26/49] Fix the numpy package name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6d67ab6b1b..fbbb855caa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,7 +57,7 @@ addons: - liblo - libmicrohttpd - ossp-uuid - - homebrew/python/numpy + - numpy - libusb packages: &mac_cppunit_113 # Installing via the addon isn't currently working so do it the old fashioned way below From 8b08eefa48a0efec6c2d258da7a3e138692a6ea0 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 24 Oct 2019 16:46:02 +0100 Subject: [PATCH 27/49] Try and fix the brew link --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index fbbb855caa..dd5d48bd20 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,4 @@ language: cpp -# Default to the fully visualised "sudo" GCE environments, as they are faster for longer running jobs. We don't actually need sudo -sudo: required # Use the latest Travis images since they are more up to date than the stable release. group: edge @@ -347,7 +345,7 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-8" CC="ccache gcc-8"; fi From 57021ad795bb91e0f3205051ba46c714d84e4ac2 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sat, 26 Oct 2019 16:31:33 +0100 Subject: [PATCH 28/49] Rename matrix to jobs, also merge after_install to the end of install --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index dd5d48bd20..05bd56e63e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ addons: # Installing via the addon isn't currently working so do it the old fashioned way below # - https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3^/Formula/cppunit.rb # install a slightly older cppunit, as latest needs C++11 support -matrix: +jobs: fast_finish: true include: - os: linux @@ -365,10 +365,8 @@ install: - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi # Installing via the addon isn't currently working so do it the old fashioned way - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support - -after_install: #Report the compiler version - - $CXX --version + - $CXX --version after_failure: # Disabled as otherwise the logfile is too big From 3fa027bd67aac31d9b16ce2d1e0534de2829b5c4 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 29 Oct 2019 11:05:25 +0000 Subject: [PATCH 29/49] Try switching to Xcode 9.4 --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 05bd56e63e..7df64458e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -163,7 +163,7 @@ jobs: sources: - ubuntu-toolchain-r-test - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: clang env: - TASK='compile' @@ -177,7 +177,7 @@ jobs: - libftdi0 update: true - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: gcc env: - TASK='compile' @@ -191,7 +191,7 @@ jobs: - libftdi0 update: true - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: clang env: - TASK='compile' @@ -205,7 +205,7 @@ jobs: - libftdi0 update: true - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: gcc env: - TASK='compile' @@ -219,7 +219,7 @@ jobs: - libftdi0 update: true - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: clang env: - TASK='compile' @@ -233,7 +233,7 @@ jobs: - libftdi # install the latest cppunit, which needs C++11 update: true - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: gcc env: - TASK='compile' From 0af4f77805f3d2c2bb409325651472e310931020 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 10 Nov 2019 23:19:41 +0000 Subject: [PATCH 30/49] Try and install numpy via pip on Mac too --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5688e0178e..0bd4bee0e2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,7 +55,8 @@ addons: - liblo - libmicrohttpd - ossp-uuid - - numpy + # Looks like this is Python 3 only, so install via pip + # - numpy - libusb packages: &mac_cppunit_113 # Installing via the addon isn't currently working so do it the old fashioned way below @@ -400,7 +401,7 @@ install: - pip install --user protobuf==3.1.0 # We need to use pip rather than apt on Xenial - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build - - if [ "$TRAVIS_OS_NAME" == "linux" ]; then pip install --user numpy; fi + - pip install --user numpy - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi From 9811af9bdee220ee5ed0010145d7fb70e371f1c8 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 10 Nov 2019 23:54:17 +0000 Subject: [PATCH 31/49] Partially add some more debugging --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0bd4bee0e2..7310535b97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -413,7 +413,7 @@ install: after_failure: # Disabled as otherwise the logfile is too big -# - if [ -f ${TRAVIS_BUILD_DIR}/config.log ]; then cat ${TRAVIS_BUILD_DIR}/config.log; fi + - if [ -f ${TRAVIS_BUILD_DIR}/config.log -a "$TRAVIS_OS_NAME" == "osx" ]; then cat ${TRAVIS_BUILD_DIR}/config.log; fi - if [ -f ${TRAVIS_BUILD_DIR}/ola-*/_build/config.log ]; then cat ${TRAVIS_BUILD_DIR}/ola-*/_build/config.log; fi - if [ -f ${TRAVIS_BUILD_DIR}/ola-*/_build/sub/config.log ]; then cat ${TRAVIS_BUILD_DIR}/ola-*/_build/sub/config.log; fi - if [ -f ${TRAVIS_BUILD_DIR}/ola-*/_build/test-suite.log ]; then cat ${TRAVIS_BUILD_DIR}/ola-*/_build/test-suite.log; fi From 4a53afe7e4eb255bd30c900778c2a1f525bfbca5 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 18 Feb 2020 01:15:29 +0000 Subject: [PATCH 32/49] Pin a specific version of numpy as later ones don't install properly on arm --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7310535b97..4afbf1759a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -401,7 +401,8 @@ install: - pip install --user protobuf==3.1.0 # We need to use pip rather than apt on Xenial - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build - - pip install --user numpy +# Later versions of numpy don't install on arm via pip + - pip install --user numpy=1.17.5 - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi From 9e040b77295adcbbba015ed8263b63be935c6719 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 18 Feb 2020 02:13:30 +0000 Subject: [PATCH 33/49] Fix a typo --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4afbf1759a..3f952c300d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -402,7 +402,7 @@ install: # We need to use pip rather than apt on Xenial - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build # Later versions of numpy don't install on arm via pip - - pip install --user numpy=1.17.5 + - pip install --user numpy==1.17.5 - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi From c978b908ff9cd0ced9ce75e7486eaad5d2d33c3e Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 18 Feb 2020 02:22:05 +0000 Subject: [PATCH 34/49] Switch to the latest supported numpy --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3f952c300d..4d1bc0f3fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -402,7 +402,7 @@ install: # We need to use pip rather than apt on Xenial - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build # Later versions of numpy don't install on arm via pip - - pip install --user numpy==1.17.5 + - pip install --user numpy==1.16.6 - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi From d19d49a0d2733934170bd8c90e9dcf81c00f19ed Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 14 Jun 2020 17:20:27 +0100 Subject: [PATCH 35/49] Try switching to pip3 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 94ebed7399..fa2eb6a354 100644 --- a/.travis.yml +++ b/.travis.yml @@ -407,7 +407,7 @@ install: - pip install --user numpy==1.16.6 - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - - if [ "$TASK" = "codespell" ]; then pip install --user git+https://github.com/codespell-project/codespell.git; fi + - if [ "$TASK" = "codespell" ]; then pip3 install --user git+https://github.com/codespell-project/codespell.git; fi - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi # Installing via the addon isn't currently working so do it the old fashioned way - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support From 48b79f0c4356fbf7fdb8f0534f135f1e65a60910 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 14 Jun 2020 17:24:33 +0100 Subject: [PATCH 36/49] Try specifying the Python version too --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index fa2eb6a354..25ee2da0a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -93,6 +93,7 @@ jobs: - os: linux dist: bionic env: TASK='codespell' + python: '3.8.1' addons: apt: packages: From 1f4ac7e8a0cbfdcd65828a54d5b5c5895582c99a Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 14 Jun 2020 17:29:12 +0100 Subject: [PATCH 37/49] Install codespell via pip3 via a different means --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 25ee2da0a0..f7d78db410 100644 --- a/.travis.yml +++ b/.travis.yml @@ -93,7 +93,6 @@ jobs: - os: linux dist: bionic env: TASK='codespell' - python: '3.8.1' addons: apt: packages: @@ -408,7 +407,7 @@ install: - pip install --user numpy==1.16.6 - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - - if [ "$TASK" = "codespell" ]; then pip3 install --user git+https://github.com/codespell-project/codespell.git; fi + - if [ "$TASK" = "codespell" ]; then python3 -m pip install --user git+https://github.com/codespell-project/codespell.git; fi - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi # Installing via the addon isn't currently working so do it the old fashioned way - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support From 186af4854d6ebc899526abdcb68312ac1306f17a Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Sun, 14 Jun 2020 19:24:03 +0100 Subject: [PATCH 38/49] Add Python 3 to the path too --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index f7d78db410..34922b20b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -92,7 +92,9 @@ jobs: - *core_build - os: linux dist: bionic - env: TASK='codespell' + env: + - TASK='codespell' + - PATH=/opt/python/3.8.1/bin:$PATH addons: apt: packages: @@ -407,7 +409,7 @@ install: - pip install --user numpy==1.16.6 - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - - if [ "$TASK" = "codespell" ]; then python3 -m pip install --user git+https://github.com/codespell-project/codespell.git; fi + - if [ "$TASK" = "codespell" ]; then pip3 install --user git+https://github.com/codespell-project/codespell.git; fi - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi # Installing via the addon isn't currently working so do it the old fashioned way - if [ "$TRAVIS_OS_NAME" == "osx" -a "$CPPUNIT" != "1.14" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e6e43cf6a3%5E/Formula/cppunit.rb; fi # install a slightly older cppunit, as latest needs C++11 support From 8eafe40b8eaa78e446da4009b6ba0909f0e048c0 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 24 Sep 2020 16:28:05 +0100 Subject: [PATCH 39/49] Install protobuf directly via homebrew where possible --- .travis.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3e241cb21..049040e2e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -234,6 +234,7 @@ jobs: packages: - *mac_core_build - cppunit + - protobuf - libftdi # install the latest cppunit, which needs C++11 update: true - os: osx @@ -249,6 +250,7 @@ jobs: packages: - *mac_core_build - cppunit + - protobuf - libftdi # install the latest cppunit, which needs C++11 update: true - os: linux @@ -409,8 +411,8 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew link -f https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release + - if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "latest" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere + - if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "latest" ]; then brew link -f https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-9" CC="ccache gcc-9"; fi @@ -419,8 +421,9 @@ before_install: - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" = "clang++" ]; then export CXX="clang++-6.0" CC="clang-6.0"; fi install: -# Match the version of protobuf being installed via apt - - pip install --user protobuf==3.1.0 +# Match the version of protobuf being installed via apt/Homebrew + - if [[ "$PROTOBUF" == "latest" ]]; then pip install --user protobuf; fi + - if [[ "$PROTOBUF" != "latest" ]]; then pip install --user protobuf==3.1.0; fi # disable until can be added to all build variants #- pip install --user timeout-decorator # We need to use pip rather than apt on Bionic From dfb891dd78604ae95535820f77753dca6ec09d9d Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 24 Sep 2020 18:54:50 +0100 Subject: [PATCH 40/49] Build all protobuf builds as latest, fix gcov build --- .travis.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 049040e2e8..90e8e18d02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -171,12 +171,14 @@ jobs: env: - TASK='compile' - CPPUNIT='1.13' + - PROTOBUF='latest' - LIBFTDI='0' addons: homebrew: packages: - *mac_core_build - *mac_cppunit_113 + - protobuf - libftdi0 update: true - os: osx @@ -185,12 +187,14 @@ jobs: env: - TASK='compile' - CPPUNIT='1.13' + - PROTOBUF='latest' - LIBFTDI='0' addons: homebrew: packages: - *mac_core_build - *mac_cppunit_113 + - protobuf - libftdi0 update: true - os: osx @@ -199,12 +203,14 @@ jobs: env: - TASK='compile' - CPPUNIT='1.14' + - PROTOBUF='latest' - LIBFTDI='0' addons: homebrew: packages: - *mac_core_build - cppunit + - protobuf - libftdi0 update: true - os: osx @@ -213,12 +219,14 @@ jobs: env: - TASK='compile' - CPPUNIT='1.14' + - PROTOBUF='latest' - LIBFTDI='0' addons: homebrew: packages: - *mac_core_build - cppunit + - protobuf - libftdi0 update: true - os: osx @@ -411,8 +419,9 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then PATH=/usr/local/opt/ccache/libexec:$PATH; fi # Use ccache on Mac too - - if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "latest" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere - - if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "latest" ]; then brew link -f https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release + # This is no longer allowed, so build all Mac builds as protobuf latest + #- if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "latest" ]; then brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; fi # install protobuf 3.1 as that's the latest we support everywhere + #- if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "latest" ]; then brew link -f https://raw.githubusercontent.com/Homebrew/homebrew-core/024ca9a4730a1f26ceede43485fbf62ef6f41179%5E/Formula/protobuf@3.1.rb; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # While protobuf is not on the latest release - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-9" CC="ccache gcc-9"; fi @@ -448,7 +457,7 @@ after_failure: - if [ -f ${TRAVIS_BUILD_DIR}/ola-*/_build/sub/test-suite.log ]; then cat ${TRAVIS_BUILD_DIR}/ola-*/_build/sub/test-suite.log; fi after_success: - - if [ "$TASK" = "coverage" ]; then coveralls --gcov /usr/bin/gcov-8 -b . -E '.*Test\.cpp$' -E '.*\.pb\.cc$' -E '.*\.pb\.cpp$' -E '.*\.pb\.h$' -E '.*\.yy\.cpp$' -E '.*\.tab\.cpp$' -E '.*\.tab\.h$' -E '.*/doxygen/examples.*$' --gcov-options '\-lp' > /dev/null; fi + - if [ "$TASK" = "coverage" ]; then coveralls --gcov /usr/bin/gcov-9 -b . -E '.*Test\.cpp$' -E '.*\.pb\.cc$' -E '.*\.pb\.cpp$' -E '.*\.pb\.h$' -E '.*\.yy\.cpp$' -E '.*\.tab\.cpp$' -E '.*\.tab\.h$' -E '.*/doxygen/examples.*$' --gcov-options '\-lp' > /dev/null; fi after_script: - if [ "$TASK" = "coverity" ]; then tail -n 10000 ${TRAVIS_BUILD_DIR}/cov-int/build-log.txt; cat ${TRAVIS_BUILD_DIR}/cov-int/scm_log.txt; fi From 2a1c2cae3010310b1a7d466362b4fdcd160b89a7 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Tue, 8 Dec 2020 23:44:34 +0000 Subject: [PATCH 41/49] Try and fix the arm64 builds by switching to packaged Python libs --- .travis.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5dde862484..6bfb495cfd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -151,12 +151,10 @@ jobs: addons: apt: packages: - - *core_build_clang_latest + - *core_build - *bionic_build_extras - sources: - - sourceline: "ppa:ubuntu-toolchain-r/test" - - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main" - key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" + - python-protobuf + - python-numpy - os: linux dist: bionic arch: arm64 @@ -168,6 +166,8 @@ jobs: packages: - *core_build_gpp_latest - *bionic_build_extras + - python-protobuf + - python-numpy sources: - ubuntu-toolchain-r-test - os: osx @@ -438,21 +438,21 @@ before_install: #Coverity doesn't work with g++ 5 or 6, so only upgrade to g++ 4.9 for that - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-9" CC="ccache gcc-9"; fi - if [ "$TASK" = "coverity" -a "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi -#Use the latest clang if we're compiling with clang - - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" = "clang++" ]; then export CXX="clang++-11" CC="clang-11"; fi +#Use the latest clang if we're compiling with clang, except on arm64 where it's not available + - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" = "clang++" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then export CXX="clang++-11" CC="clang-11"; fi #Report the compiler version - $CXX --version install: # Match the version of protobuf being installed via apt/Homebrew - - if [[ "$PROTOBUF" == "latest" ]]; then pip install --user protobuf; fi - - if [[ "$PROTOBUF" != "latest" ]]; then pip install --user protobuf==3.1.0; fi + - if [[ "$PROTOBUF" == "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]]; then pip install --user protobuf; fi + - if [[ "$PROTOBUF" != "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]]; then pip install --user protobuf==3.1.0; fi # disable until can be added to all build variants #- pip install --user timeout-decorator # We need to use pip rather than apt on Bionic - - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build -# Later versions of numpy don't install on arm via pip - - pip install --user numpy==1.16.6 + - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build +# Install numpy via deb on arm + - if [ "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user numpy; fi - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip3 install --user git+https://github.com/codespell-project/codespell.git; fi From d20c9498cfbdeb21adcaee38e6d2618c40cff1ac Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Dec 2020 00:53:35 +0000 Subject: [PATCH 42/49] Fix some bash syntax --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6bfb495cfd..937be8e9a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -445,8 +445,8 @@ before_install: install: # Match the version of protobuf being installed via apt/Homebrew - - if [[ "$PROTOBUF" == "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]]; then pip install --user protobuf; fi - - if [[ "$PROTOBUF" != "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]]; then pip install --user protobuf==3.1.0; fi + - if [ "$PROTOBUF" == "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user protobuf; fi + - if [ "$PROTOBUF" != "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user protobuf==3.1.0; fi # disable until can be added to all build variants #- pip install --user timeout-decorator # We need to use pip rather than apt on Bionic From 344da59d341a48a2971a999251d26ce1fe1227ae Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Dec 2020 03:40:30 +0000 Subject: [PATCH 43/49] Fix a typo --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 7a9071aa5e..510a0382d0 100644 --- a/NEWS +++ b/NEWS @@ -41,7 +41,7 @@ * Fix a bug with the Python ola_rdm_get and PROXIED_DEVICES display * Renamed RESONSE_INVALID_DESTINATION(sic) to RESPONSE_INVALID_DESTINATION in the ArduinoWidget code - * Fix compatibility with GCC 9 #1553 Debain #925793 + * Fix compatibility with GCC 9 #1553 Debian #925793 * Ensure the GPIO plugin correctly writes to the last configured pin * Fix compatibility with ncurses 6 * Fix compatibility with Protobuf 3.7 and newer (tested with up to 3.12.2) From 3ee9292bd26eae4edd66e15d535cadab0b49c578 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Dec 2020 03:40:57 +0000 Subject: [PATCH 44/49] Fix another typo --- plugins/spi/SPIOutputTest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/spi/SPIOutputTest.cpp b/plugins/spi/SPIOutputTest.cpp index 061b4345dd..eb5ce8648c 100644 --- a/plugins/spi/SPIOutputTest.cpp +++ b/plugins/spi/SPIOutputTest.cpp @@ -78,7 +78,7 @@ void SPIOutputTest::setUp() { } /** - * Check the descrption, start address & personality. + * Check the description, start address & personality. */ void SPIOutputTest::testDescription() { FakeSPIBackend backend(2); From 2be0af7d66310837e6a278bbb349e8174d93f1de Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Dec 2020 03:50:36 +0000 Subject: [PATCH 45/49] Install python-protobuf and numpy via apt on bionic --- .travis.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 937be8e9a0..f5cea9c200 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,9 +38,9 @@ addons: - *core_build - clang-11 packages: &bionic_build_extras + - python-protobuf + - python-numpy - python-pip - # To compile numpy - - python-dev # To fix the build/add missing components - libtool - pkg-config @@ -153,8 +153,6 @@ jobs: packages: - *core_build - *bionic_build_extras - - python-protobuf - - python-numpy - os: linux dist: bionic arch: arm64 @@ -166,8 +164,6 @@ jobs: packages: - *core_build_gpp_latest - *bionic_build_extras - - python-protobuf - - python-numpy sources: - ubuntu-toolchain-r-test - os: osx @@ -445,14 +441,14 @@ before_install: install: # Match the version of protobuf being installed via apt/Homebrew - - if [ "$PROTOBUF" == "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user protobuf; fi - - if [ "$PROTOBUF" != "latest" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user protobuf==3.1.0; fi + - if [ "$PROTOBUF" == "latest" -a "$TRAVIS_DIST" != "bionic" ]; then pip install --user protobuf; fi + - if [ "$PROTOBUF" != "latest" -a "$TRAVIS_DIST" != "bionic" ]; then pip install --user protobuf==3.1.0; fi # disable until can be added to all build variants #- pip install --user timeout-decorator -# We need to use pip rather than apt on Bionic - - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" = "bionic" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build -# Install numpy via deb on arm - - if [ "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user numpy; fi +# We sometimes need to use pip rather than apt on Bionic + - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" == "bionic" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build +# Install numpy via deb where it works, otherwise on OS X and non-bionic Linux install via pip + - if [ "$TRAVIS_DIST" != "bionic" ]; then pip install --user numpy; fi - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip3 install --user git+https://github.com/codespell-project/codespell.git; fi From 68bca9d4aeae61a5e0522c4c5f6f880c68257ea6 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Dec 2020 07:56:41 +0000 Subject: [PATCH 46/49] Fix the python installs correctly for each version --- .travis.yml | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5cea9c200..cb9fe94cd8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,12 +38,19 @@ addons: - *core_build - clang-11 packages: &bionic_build_extras - - python-protobuf - - python-numpy - - python-pip # To fix the build/add missing components - libtool - pkg-config + packages: &bionic_build_extras_python2 + - *bionic_build_extras + - python-protobuf + - python-numpy + - python-pip + packages: &bionic_build_extras_python3 + - *bionic_build_extras + - python3-protobuf + - python3-numpy + - python3-pip homebrew: packages: &mac_core_build - ccache @@ -72,6 +79,7 @@ jobs: apt: packages: - *core_build_gpp_latest + - *bionic_build_extras_python2 - doxygen - graphviz sources: @@ -83,6 +91,7 @@ jobs: apt: packages: - *core_build + - *bionic_build_extras_python2 - os: linux dist: bionic env: TASK='check-licences' @@ -90,15 +99,17 @@ jobs: apt: packages: - *core_build + - *bionic_build_extras_python2 - os: linux dist: bionic env: - - TASK='codespell' - - PATH=/opt/python/3.8.1/bin:$PATH + - TASK='codespell' + - PYTHON='python3' addons: apt: packages: - *core_build + - *bionic_build_extras_python3 - moreutils - os: linux dist: bionic @@ -113,6 +124,7 @@ jobs: apt: packages: - *base_build + - *bionic_build_extras_python2 - os: linux dist: bionic arch: amd64 @@ -125,7 +137,7 @@ jobs: apt: packages: - *core_build_clang_latest - - *bionic_build_extras + - *bionic_build_extras_python3 sources: - sourceline: "ppa:ubuntu-toolchain-r/test" - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main" @@ -140,6 +152,7 @@ jobs: apt: packages: - *core_build_gpp_latest + - *bionic_build_extras_python2 sources: - ubuntu-toolchain-r-test - os: linux @@ -152,7 +165,7 @@ jobs: apt: packages: - *core_build - - *bionic_build_extras + - *bionic_build_extras_python2 - os: linux dist: bionic arch: arm64 @@ -163,7 +176,7 @@ jobs: apt: packages: - *core_build_gpp_latest - - *bionic_build_extras + - *bionic_build_extras_python2 sources: - ubuntu-toolchain-r-test - os: osx From ae637757a2e277cb66e13e5d34b5fe5a3f0a31d2 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Wed, 9 Dec 2020 11:49:15 +0000 Subject: [PATCH 47/49] Switch to the Travis way of specifying the Python version, don't update the OS X images, try and fix the amd64 clang install --- .travis.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index cb9fe94cd8..b9f458b7b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -104,7 +104,7 @@ jobs: dist: bionic env: - TASK='codespell' - - PYTHON='python3' + python: '3.8' addons: apt: packages: @@ -131,7 +131,6 @@ jobs: compiler: clang env: - TASK='compile' - - PYTHON='python3' python: '3.8' addons: apt: @@ -139,9 +138,9 @@ jobs: - *core_build_clang_latest - *bionic_build_extras_python3 sources: - - sourceline: "ppa:ubuntu-toolchain-r/test" - sourceline: "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main" key_url: "https://apt.llvm.org/llvm-snapshot.gpg.key" + - sourceline: "ppa:ubuntu-toolchain-r/test" - os: linux dist: bionic arch: amd64 @@ -194,7 +193,7 @@ jobs: - *mac_cppunit_113 - protobuf - libftdi0 - update: true + update: false - os: osx osx_image: xcode9.4 compiler: gcc @@ -210,7 +209,7 @@ jobs: - *mac_cppunit_113 - protobuf - libftdi0 - update: true + update: false - os: osx osx_image: xcode9.4 compiler: clang @@ -226,7 +225,7 @@ jobs: - cppunit - protobuf - libftdi0 - update: true + update: false - os: osx osx_image: xcode9.4 compiler: gcc @@ -242,7 +241,7 @@ jobs: - cppunit - protobuf - libftdi0 - update: true + update: false - os: osx osx_image: xcode9.4 compiler: clang @@ -258,7 +257,7 @@ jobs: - cppunit - protobuf - libftdi # install the latest cppunit, which needs C++11 - update: true + update: false - os: osx osx_image: xcode9.4 compiler: gcc @@ -274,7 +273,7 @@ jobs: - cppunit - protobuf - libftdi # install the latest cppunit, which needs C++11 - update: true + update: false - os: linux dist: xenial compiler: gcc From 6f1bf64cbb31f81057f4f789486f5703585cf4d2 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 10 Dec 2020 00:14:31 +0000 Subject: [PATCH 48/49] Try and fix the Python 3 Linux builds, skip most of the OS X builds --- .travis.yml | 237 ++++++++++++++++++++++++++-------------------------- 1 file changed, 120 insertions(+), 117 deletions(-) diff --git a/.travis.yml b/.travis.yml index b9f458b7b9..f541edd89f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,9 +48,12 @@ addons: - python-pip packages: &bionic_build_extras_python3 - *bionic_build_extras - - python3-protobuf - - python3-numpy - - python3-pip + # The apt packaged files don't seem to work with Bionic and Python 3, so do it via pip + # To compile numpy + - python3-dev +# - python3-protobuf +# - python3-numpy +# - python3-pip homebrew: packages: &mac_core_build - ccache @@ -104,7 +107,7 @@ jobs: dist: bionic env: - TASK='codespell' - python: '3.8' + - PYTHON='python3' addons: apt: packages: @@ -131,7 +134,7 @@ jobs: compiler: clang env: - TASK='compile' - python: '3.8' + - PYTHON='python3' addons: apt: packages: @@ -178,70 +181,70 @@ jobs: - *bionic_build_extras_python2 sources: - ubuntu-toolchain-r-test - - os: osx - osx_image: xcode9.4 - compiler: clang - env: - - TASK='compile' - - CPPUNIT='1.13' - - PROTOBUF='latest' - - LIBFTDI='0' - addons: - homebrew: - packages: - - *mac_core_build - - *mac_cppunit_113 - - protobuf - - libftdi0 - update: false - - os: osx - osx_image: xcode9.4 - compiler: gcc - env: - - TASK='compile' - - CPPUNIT='1.13' - - PROTOBUF='latest' - - LIBFTDI='0' - addons: - homebrew: - packages: - - *mac_core_build - - *mac_cppunit_113 - - protobuf - - libftdi0 - update: false - - os: osx - osx_image: xcode9.4 - compiler: clang - env: - - TASK='compile' - - CPPUNIT='1.14' - - PROTOBUF='latest' - - LIBFTDI='0' - addons: - homebrew: - packages: - - *mac_core_build - - cppunit - - protobuf - - libftdi0 - update: false - - os: osx - osx_image: xcode9.4 - compiler: gcc - env: - - TASK='compile' - - CPPUNIT='1.14' - - PROTOBUF='latest' - - LIBFTDI='0' - addons: - homebrew: - packages: - - *mac_core_build - - cppunit - - protobuf - - libftdi0 - update: false +# - os: osx +# osx_image: xcode9.4 +# compiler: clang +# env: +# - TASK='compile' +# - CPPUNIT='1.13' +# - PROTOBUF='latest' +# - LIBFTDI='0' +# addons: +# homebrew: +# packages: +# - *mac_core_build +# - *mac_cppunit_113 +# - protobuf +# - libftdi0 +# update: false +# - os: osx +# osx_image: xcode9.4 +# compiler: gcc +# env: +# - TASK='compile' +# - CPPUNIT='1.13' +# - PROTOBUF='latest' +# - LIBFTDI='0' +# addons: +# homebrew: +# packages: +# - *mac_core_build +# - *mac_cppunit_113 +# - protobuf +# - libftdi0 +# update: false +# - os: osx +# osx_image: xcode9.4 +# compiler: clang +# env: +# - TASK='compile' +# - CPPUNIT='1.14' +# - PROTOBUF='latest' +# - LIBFTDI='0' +# addons: +# homebrew: +# packages: +# - *mac_core_build +# - cppunit +# - protobuf +# - libftdi0 +# update: false +# - os: osx +# osx_image: xcode9.4 +# compiler: gcc +# env: +# - TASK='compile' +# - CPPUNIT='1.14' +# - PROTOBUF='latest' +# - LIBFTDI='0' +# addons: +# homebrew: +# packages: +# - *mac_core_build +# - cppunit +# - protobuf +# - libftdi0 +# update: false - os: osx osx_image: xcode9.4 compiler: clang @@ -315,50 +318,50 @@ jobs: - lintian - moreutils allow_failures: +# - os: osx +# osx_image: xcode9.4 +# compiler: clang +# env: +# - TASK='compile' +# - CPPUNIT='1.13' +# - LIBFTDI='0' +# - os: osx +# osx_image: xcode9.4 +# compiler: clang +# env: +# - TASK='compile' +# - CPPUNIT='1.14' +# - LIBFTDI='0' +# - os: osx +# osx_image: xcode9.4 +# compiler: gcc +# env: +# - TASK='compile' +# - CPPUNIT='1.13' +# - LIBFTDI='0' +# - os: osx +# osx_image: xcode9.4 +# compiler: gcc +# env: +# - TASK='compile' +# - CPPUNIT='1.14' +# - LIBFTDI='0' +# - os: osx +# osx_image: xcode9.4 +# compiler: clang +# env: +# - TASK='compile' +# - CPPUNIT='1.14' +# - LIBFTDI='1' +# - os: osx +# osx_image: xcode9.4 +# compiler: gcc +# env: +# - TASK='compile' +# - CPPUNIT='1.14' +# - LIBFTDI='1' - os: osx - osx_image: xcode9.3 - compiler: clang - env: - - TASK='compile' - - CPPUNIT='1.13' - - LIBFTDI='0' - - os: osx - osx_image: xcode9.3 - compiler: clang - env: - - TASK='compile' - - CPPUNIT='1.14' - - LIBFTDI='0' - - os: osx - osx_image: xcode9.3 - compiler: gcc - env: - - TASK='compile' - - CPPUNIT='1.13' - - LIBFTDI='0' - - os: osx - osx_image: xcode9.3 - compiler: gcc - env: - - TASK='compile' - - CPPUNIT='1.14' - - LIBFTDI='0' - - os: osx - osx_image: xcode9.3 - compiler: clang - env: - - TASK='compile' - - CPPUNIT='1.14' - - LIBFTDI='1' - - os: osx - osx_image: xcode9.3 - compiler: gcc - env: - - TASK='compile' - - CPPUNIT='1.14' - - LIBFTDI='1' - - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: clang env: - TASK='compile' @@ -366,7 +369,7 @@ jobs: - LIBFTDI='1' - PROTOBUF='latest' - os: osx - osx_image: xcode9.3 + osx_image: xcode9.4 compiler: gcc env: - TASK='compile' @@ -453,14 +456,14 @@ before_install: install: # Match the version of protobuf being installed via apt/Homebrew - - if [ "$PROTOBUF" == "latest" -a "$TRAVIS_DIST" != "bionic" ]; then pip install --user protobuf; fi - - if [ "$PROTOBUF" != "latest" -a "$TRAVIS_DIST" != "bionic" ]; then pip install --user protobuf==3.1.0; fi + - if [ "$PROTOBUF" == "latest" -a \( "$TRAVIS_DIST" != "bionic" -o "$PYTHON" == "python3" \) ]; then pip install --user protobuf; fi + - if [ "$PROTOBUF" != "latest" -a \( "$TRAVIS_DIST" != "bionic" -o "$PYTHON" == "python3" \) ]; then pip install --user protobuf==3.1.0; fi # disable until can be added to all build variants #- pip install --user timeout-decorator # We sometimes need to use pip rather than apt on Bionic - if [ "$TRAVIS_OS_NAME" == "linux" -a "$TRAVIS_DIST" == "bionic" -a "$TRAVIS_CPU_ARCH" != "arm64" ]; then pip install --user wheel; fi # Wheel only needed to fix a broken bionic build -# Install numpy via deb where it works, otherwise on OS X and non-bionic Linux install via pip - - if [ "$TRAVIS_DIST" != "bionic" ]; then pip install --user numpy; fi +# Install numpy via deb where it works, otherwise on OS X and non-bionic Python 2 Linux install via pip + - if [ "$TRAVIS_DIST" != "bionic" -o "$PYTHON" == "python3" ]; then pip install --user numpy; fi - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi - if [ "$TASK" = "codespell" ]; then pip3 install --user git+https://github.com/codespell-project/codespell.git; fi From 63796ab05f8ce45642115c78ba7f95724a22cf83 Mon Sep 17 00:00:00 2001 From: Peter Newman Date: Thu, 10 Dec 2020 03:15:09 +0000 Subject: [PATCH 49/49] Fix the order of environment variables to correctly allow failures of the OS X builds for now --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index f541edd89f..a4d66407ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -366,16 +366,16 @@ jobs: env: - TASK='compile' - CPPUNIT='1.14' - - LIBFTDI='1' - PROTOBUF='latest' + - LIBFTDI='1' - os: osx osx_image: xcode9.4 compiler: gcc env: - TASK='compile' - CPPUNIT='1.14' - - LIBFTDI='1' - PROTOBUF='latest' + - LIBFTDI='1' - os: linux dist: xenial compiler: gcc