From 4444704ca9f66cdc24ab2d444941354db1dfed06 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 17 Oct 2019 10:46:08 -0400 Subject: [PATCH 1/3] ci: Cleanup macOS runs --- .travis.yml | 24 ------------------------ ci/lint/04_install.sh | 21 ++++----------------- 2 files changed, 4 insertions(+), 41 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7519d72e831..0a14ddf34c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,8 +39,6 @@ cache: - /usr/local/Homebrew before_cache: - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew cleanup; fi - # Cache only .git files under "/usr/local/Homebrew" so "brew update" does not take 5min every build - # - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi stages: - lint - test @@ -95,28 +93,6 @@ jobs: script: - set -o errexit; source ./ci/extended_lint/06_script.sh - - stage: extended-lint - name: 'lint macOS 10.12 (compat)' - os: osx - # Use the earliest macOS that can build our lint dependencies: - # Xcode 8.3.3, macOS 10.12, JDK 1.8.0_112-b16 - # https://docs.travis-ci.com/user/reference/osx/#macos-version - osx_image: xcode8.3 - # TODO: if you're updating osx_image, try using "rvm:" to supply the - # version of ruby required by homebrew. Despite this "rvm:" declaration, - # brew update installs ruby 2.3.7 as its first action. - language: ruby - rvm: - - 2.3.7 - env: - cache: false - install: - - set -o errexit; source ./ci/lint/04_install.sh - before_script: - - set -o errexit; source ./ci/lint/05_before_script.sh - script: - - set -o errexit; source ./ci/lint/06_script.sh - - stage: test name: 'ARM [GOAL: install] [unit tests, no functional tests]' env: >- diff --git a/ci/lint/04_install.sh b/ci/lint/04_install.sh index 9f7e1b310d3..12c3bfce451 100755 --- a/ci/lint/04_install.sh +++ b/ci/lint/04_install.sh @@ -6,22 +6,9 @@ export LC_ALL=C -if [ "$TRAVIS_OS_NAME" == "osx" ]; then - # update first to install required ruby dependency - travis_retry brew update - travis_retry brew reinstall git -- --with-pcre2 # for --perl-regexp - travis_retry brew install grep # gnu grep for --perl-regexp support - PATH="$(brew --prefix grep)/libexec/gnubin:$PATH" - travis_retry brew install shellcheck - travis_retry brew upgrade python - PATH="$(brew --prefix python)/bin:$PATH" - export PATH -else - SHELLCHECK_VERSION=v0.6.0 - travis_retry curl --silent "https://storage.googleapis.com/shellcheck/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/ - PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}" - export PATH -fi - travis_retry pip3 install codespell==1.15.0 travis_retry pip3 install flake8==3.7.8 + +SHELLCHECK_VERSION=v0.6.0 +curl -s "https://storage.googleapis.com/shellcheck/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/ +export PATH="/tmp/shellcheck-${SHELLCHECK_VERSION}:${PATH}" From fadccb263baf6b8694f750623add42f966e423a3 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 17 Oct 2019 10:53:21 -0400 Subject: [PATCH 2/3] doc: Document that GNU tools are required for linters --- test/lint/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/lint/README.md b/test/lint/README.md index 15974a35982..f415d619eed 100644 --- a/test/lint/README.md +++ b/test/lint/README.md @@ -7,6 +7,8 @@ Check for missing documentation of command line options. commit-script-check.sh ====================== Verification of [scripted diffs](/doc/developer-notes.md#scripted-diffs). +Scripted diffs are only assumed to run on the latest LTS release of Ubuntu. Running them on other operating systems +might require installing GNU tools, such as GNU sed. git-subtree-check.sh ==================== From fa677d1801fb9153a95a1fc9855fd5f21fc440c0 Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Thu, 17 Oct 2019 11:31:20 -0400 Subject: [PATCH 3/3] ci: Remove redundant check for TRAVIS_OS_NAME Can be reviewed with git diff --ignore-all-space --function-context --- ci/test/00_setup_env_mac_functional.sh | 3 ++- ci/test/05_before_script.sh | 28 +++++++++++--------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/ci/test/00_setup_env_mac_functional.sh b/ci/test/00_setup_env_mac_functional.sh index cf19a0962f6..e9e68c47a8c 100644 --- a/ci/test/00_setup_env_mac_functional.sh +++ b/ci/test/00_setup_env_mac_functional.sh @@ -9,10 +9,11 @@ export LC_ALL=C.UTF-8 export HOST=x86_64-apple-darwin14 export BREW_PACKAGES="automake berkeley-db4 libtool boost miniupnpc pkg-config protobuf qt qrencode python3 ccache zeromq" export PIP_PACKAGES="zmq" -export OSX_SDK=10.11 export RUN_CI_ON_HOST=true export RUN_UNIT_TESTS=true export RUN_FUNCTIONAL_TESTS=true export GOAL="install" export BITCOIN_CONFIG="--enable-gui --enable-bip70 --enable-reduce-exports --enable-werror" +# Run without depends export NO_DEPENDS=1 +export OSX_SDK="" diff --git a/ci/test/05_before_script.sh b/ci/test/05_before_script.sh index 469853cc803..a0488f08079 100755 --- a/ci/test/05_before_script.sh +++ b/ci/test/05_before_script.sh @@ -13,21 +13,17 @@ else DOCKER_EXEC echo \> \$HOME/.bitcoin fi -if [ "$TRAVIS_OS_NAME" != "osx" ]; then - - mkdir -p depends/SDKs depends/sdk-sources - - if [ -n "$OSX_SDK" ] && [ ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then - curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz - fi - if [ -n "$OSX_SDK" ] && [ -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then - tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz - fi - if [[ $HOST = *-mingw32 ]]; then - DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\) - fi - if [ -z "$NO_DEPENDS" ]; then - DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS - fi +mkdir -p depends/SDKs depends/sdk-sources +if [ -n "$OSX_SDK" ] && [ ! -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then + curl --location --fail $SDK_URL/MacOSX${OSX_SDK}.sdk.tar.gz -o depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz +fi +if [ -n "$OSX_SDK" ] && [ -f depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz ]; then + tar -C depends/SDKs -xf depends/sdk-sources/MacOSX${OSX_SDK}.sdk.tar.gz +fi +if [[ $HOST = *-mingw32 ]]; then + DOCKER_EXEC update-alternatives --set $HOST-g++ \$\(which $HOST-g++-posix\) +fi +if [ -z "$NO_DEPENDS" ]; then + DOCKER_EXEC CONFIG_SHELL= make $MAKEJOBS -C depends HOST=$HOST $DEP_OPTS fi