Merge #13728: lint: Run the CI lint stage on mac

cd82f75a43 lint: Install grep and git via brew on mac for --perl-regexp (Ben Woosley)
eafa747ca5 lint: Fix shellcheck SC2155 (Ben Woosley)
615ff4e7db 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 cd82f75a43

Tree-SHA512: 8d56d2303bbebedba8ea2291f4ab35b7fdf3245b7a4c3f04557eee4f19d83573798ad32facc92bfa060aaeb294e6d2c95e6d1c3b795fd7951dcf3aa1cccec107
pull/16597/head
MarcoFalke 5 years ago
commit 42d0eca725
No known key found for this signature in database
GPG Key ID: D2EA4850E7528B25

@ -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: >-

@ -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}"

Loading…
Cancel
Save