ci: add macOS 11 Big Sur
Remove all traces of Travis CI
Change-Id: Ic0a802db8a2ec5dfef093321b3bc0a7c736b5a5c
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 20f7cb4..e988485 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,7 +5,6 @@
- 'docs/**'
- '*.md'
- '.mailmap'
- - '.travis.yml'
workflow_dispatch:
permissions:
@@ -49,9 +48,14 @@
matrix:
xcode: ['11.3', '11.7', '12.4']
os: [macos-10.15]
+ include:
+ - xcode: '12.5'
+ os: macos-11
+ - xcode: '13'
+ os: macos-11
runs-on: ${{ matrix.os }}
env:
- NODE_LABELS: OSX OSX-10.15
+ NODE_LABELS: OSX
WAF_JOBS: 3
steps:
- name: Set up Xcode
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 9f25475..f94c307 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -2,8 +2,8 @@
on:
push:
paths-ignore:
+ - '*.md'
- '.mailmap'
- - '.travis.yml'
workflow_dispatch:
permissions:
@@ -14,7 +14,7 @@
strategy:
fail-fast: false
matrix:
- os: [macos-10.15, ubuntu-20.04]
+ os: [macos-11, ubuntu-20.04]
runs-on: ${{ matrix.os }}
env:
JOB_NAME: Docs
@@ -25,8 +25,8 @@
- name: Install dependencies
run: |
case ${RUNNER_OS} in
- Linux) export NODE_LABELS="Linux Ubuntu Ubuntu-20.04" ;;
- macOS) export NODE_LABELS="OSX OSX-10.15" ;;
+ Linux) export NODE_LABELS="Linux Ubuntu" ;;
+ macOS) export NODE_LABELS="OSX" ;;
esac
find .jenkins.d/ -type f -name '[1-9]*.sh' -exec chmod -x '{}' +
./.jenkins
diff --git a/.jenkins b/.jenkins
index 21cce49..da10d69 100755
--- a/.jenkins
+++ b/.jenkins
@@ -3,27 +3,18 @@
source .jenkins.d/util.sh
if has Linux $NODE_LABELS; then
- export PATH="~/.local/bin${PATH:+:}${PATH}"
+ export PATH="${HOME}/.local/bin${PATH:+:}${PATH}"
fi
export CACHE_DIR=${CACHE_DIR:-/tmp}
export WAF_JOBS=${WAF_JOBS:-1}
[[ $JOB_NAME == *"code-coverage" ]] && export DISABLE_ASAN=yes
-nanos() {
- # Cannot use date(1) because macOS does not support %N format specifier
- python3 -c 'import time; print(int(time.time() * 1e9))'
-}
-
for file in .jenkins.d/*; do
[[ -f $file && -x $file ]] || continue
- label=$(basename "$file" | sed -E 's/[[:digit:]]+-(.*)\..*/\1/')
if [[ -n $GITHUB_ACTIONS ]]; then
+ label=$(basename "$file" | sed -E 's/[[:digit:]]+-(.*)\..*/\1/')
echo "::group::${label}"
- elif [[ -n $TRAVIS ]]; then
- echo -ne "travis_fold:start:${label}\r"
- echo -ne "travis_time:start:${label}\r"
- start=$(nanos)
fi
echo "\$ $file"
@@ -31,9 +22,5 @@
if [[ -n $GITHUB_ACTIONS ]]; then
echo "::endgroup::"
- elif [[ -n $TRAVIS ]]; then
- finish=$(nanos)
- echo -ne "travis_time:end:${label}:start=${start},finish=${finish},duration=$((finish-start)),event=${label}\r"
- echo -ne "travis_fold:end:${label}\r"
fi
done
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 304a19a..31b89ee 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -3,13 +3,10 @@
if has OSX $NODE_LABELS; then
FORMULAE=(boost openssl pkg-config)
- if has OSX-10.13 $NODE_LABELS || has OSX-10.14 $NODE_LABELS; then
- FORMULAE+=(python)
- fi
- if [[ -n $GITHUB_ACTIONS || -n $TRAVIS ]]; then
- # GitHub Actions and Travis images come with a large number of
- # pre-installed packages. Don't waste time upgrading all of them.
+ if [[ -n $GITHUB_ACTIONS ]]; then
+ # GitHub Actions runners have a large number of pre-installed
+ # Homebrew packages. Don't waste time upgrading all of them.
brew list --versions "${FORMULAE[@]}" || brew update
for FORMULA in "${FORMULAE[@]}"; do
brew list --versions "$FORMULA" || brew install "$FORMULA"
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 1ab91c5..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,115 +0,0 @@
-version: ~> 1.0
-language: cpp
-os: linux
-dist: bionic
-
-arch:
- - amd64
- - arm64
- - ppc64le
- - s390x
-
-env:
- - COMPILER=g++-7
- - COMPILER=g++-9
- - COMPILER=clang++-6.0
- - COMPILER=clang++-9
-
-jobs:
- include:
- # Linux
- - env: COMPILER=g++-5
- - env: COMPILER=g++-6
- - env: COMPILER=g++-8
- - env: COMPILER=clang++-4.0
- - env: COMPILER=clang++-5.0
- - env: COMPILER=clang++-7
- - env: COMPILER=clang++-8
- - env: COMPILER=clang++-10
- - env: COMPILER=clang++-11
- - env: COMPILER=clang++-12
-
- # macOS
- - os: osx
- osx_image: xcode9.4
- env: # default compiler
- - os: osx
- osx_image: xcode10.1
- env: # default compiler
- - os: osx
- osx_image: xcode10.3
- env: # default compiler
- - os: osx
- osx_image: xcode11.3
- env: # default compiler
- - os: osx
- osx_image: xcode11.6
- env: # default compiler
- - os: osx
- osx_image: xcode12
- env: # default compiler
-
- allow_failures:
- - env: COMPILER=g++-5
- - env: COMPILER=g++-6
- - env: COMPILER=clang++-4.0
- - env: COMPILER=clang++-12
-
- fast_finish: true
-
-before_install:
- - |
- : Adding apt repositories
- case ${COMPILER} in
- g++-9)
- # https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test/+packages
- travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- travis_retry sudo apt-get -qq update
- ;;
- clang++-1?)
- # https://apt.llvm.org/
- LLVM_REPO=${COMPILER/clang++/llvm-toolchain-${TRAVIS_DIST}}
- travis_retry wget -nv -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add -
- travis_retry sudo add-apt-repository -y "deb http://apt.llvm.org/${TRAVIS_DIST}/ ${LLVM_REPO%-12} main"
- travis_retry sudo apt-get -qq update
- ;;
- esac
-
-install:
- - |
- : Installing C++ compiler
- if [[ -n ${COMPILER} ]]; then
- travis_retry sudo apt-get -qy install ${COMPILER/clang++/clang}
- fi
-
-before_script:
- - |
- : Setting environment variables
- if [[ -n ${COMPILER} ]]; then
- export CXX=${COMPILER}
- fi
- case ${TRAVIS_OS_NAME} in
- linux) export NODE_LABELS="Linux Ubuntu Ubuntu-18.04" ;;
- osx) export NODE_LABELS="OSX OSX-$(sw_vers -productVersion | cut -d . -f -2)" ;;
- esac
- export WAF_JOBS=2
- - |
- : Enabling workarounds
- case "${TRAVIS_CPU_ARCH},${COMPILER}" in
- arm64,g++*)
- # Avoid exceeding the per-job time limit
- export JOB_NAME=limited-build
- ;;
- ppc64le,g++-7)
- # AddressSanitizer does not seem to be working
- export DISABLE_ASAN=yes
- ;;
- *,clang++-8)
- # https://bugs.llvm.org/show_bug.cgi?id=40808
- export DISABLE_ASAN=yes
- ;;
- esac
- - ${CXX:-c++} --version
-
-script:
- - ./.jenkins