diff options
author | MarcoFalke <falke.marco@gmail.com> | 2019-10-09 14:37:47 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2019-10-09 14:37:53 -0400 |
commit | 42d0eca725a83c999e2b67e33dfc7bcc96288dc3 (patch) | |
tree | 2ce1cab73ac1e8fba93e95a2e56cf2931ec98b00 | |
parent | a2ae766a61f0f4f70b504f68049218af1b9fa5c1 (diff) | |
parent | cd82f75a431967030d25bcfe7c4aaefe5b345a99 (diff) | |
download | bitcoin-42d0eca725a83c999e2b67e33dfc7bcc96288dc3.tar.xz |
Merge #13728: lint: Run the CI lint stage on mac
cd82f75a431967030d25bcfe7c4aaefe5b345a99 lint: Install grep and git via brew on mac for --perl-regexp (Ben Woosley)
eafa747ca5926d47f555820cecae0846ac01e20f lint: Fix shellcheck SC2155 (Ben Woosley)
615ff4e7dbe2c4fc888ef489cf71dbca25d1b568 lint: Run the linters against Mac OS on Travis (Ben Woosley)
Pull request description:
This helps ensure ongoing compatibility with macOS-distributed version of GNU bash.
ACKs for top commit:
MarcoFalke:
ACK cd82f75a431967030d25bcfe7c4aaefe5b345a99
Tree-SHA512: 8d56d2303bbebedba8ea2291f4ab35b7fdf3245b7a4c3f04557eee4f19d83573798ad32facc92bfa060aaeb294e6d2c95e6d1c3b795fd7951dcf3aa1cccec107
-rw-r--r-- | .travis.yml | 22 | ||||
-rwxr-xr-x | ci/lint/04_install.sh | 21 |
2 files changed, 39 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml index 6f27e47b88..f59c7fc7e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -88,6 +88,28 @@ 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/#OS-X-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 12c3bfce45..9f7e1b310d 100755 --- a/ci/lint/04_install.sh +++ b/ci/lint/04_install.sh @@ -6,9 +6,22 @@ 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}" |