|
89 | 89 |
|
90 | 90 | folded-finish GIT_UPDATE_PID
|
91 | 91 |
|
92 |
| -for CONFIG in Debug Release; do |
93 |
| - if [ "$TRAVIS_OS_NAME" = linux ]; then |
94 |
| - folded-finish LIBSTD_INSTALL_PID |
95 |
| - CMAKE_BUILD_TYPE=$CONFIG CC=clang CXX=clang++ folded "Clang $CONFIG" cppsm test |
96 |
| - folded-finish GCC_INSTALL_PID |
97 |
| - CMAKE_BUILD_TYPE=$CONFIG CC=gcc-9 CXX=g++-9 folded "GCC $CONFIG" cppsm test |
98 |
| - elif [ "$TRAVIS_OS_NAME" = windows ]; then |
99 |
| - CMAKE_BUILD_TYPE=$CONFIG CC='' CXX='' folded "VC2017 $CONFIG" cppsm test |
100 |
| - folded-finish MAKE_INSTALL_PID |
101 |
| - CMAKE_BUILD_TYPE=$CONFIG CC="gcc" CXX="g++" folded "GCC $CONFIG" cppsm test |
102 |
| - elif [ "$TRAVIS_OS_NAME" = osx ]; then |
103 |
| - CMAKE_BUILD_TYPE=$CONFIG CC='' CXX='' CMAKE_GENERATOR=Xcode folded "Clang $CONFIG" cppsm test |
104 |
| - for ((i=8; i<20; ++i)); do |
105 |
| - if command -v "gcc-$i" > /dev/null ; then |
106 |
| - CMAKE_BUILD_TYPE=$CONFIG CC=gcc-$i CXX=g++-$i folded "GCC $CONFIG" cppsm test |
107 |
| - break |
108 |
| - fi |
109 |
| - done |
110 |
| - else |
111 |
| - echo "Unsupported OS: $TRAVIS_OS_NAME" |
112 |
| - exit 1 |
113 |
| - fi |
114 |
| -done |
115 |
| - |
116 |
| -if [ "$TRAVIS_OS_NAME" = windows ]; then |
117 |
| - folded-finish VC2019_INSTALL_PID |
| 92 | +if [ "$TRAVIS_OS_NAME" = osx ]; then |
| 93 | + for ((i=8; i<20; ++i)); do |
| 94 | + if command -v "gcc-$i" > /dev/null ; then |
| 95 | + GCC_VERSION="$i" |
| 96 | + fi |
| 97 | + done |
| 98 | +fi |
118 | 99 |
|
| 100 | +run-tests() { |
119 | 101 | for CONFIG in Debug Release; do
|
120 |
| - CMAKE_BUILD_TYPE=$CONFIG CC='' CXX='' CMAKE_GENERATOR="Visual Studio 16 2019" folded "VC2019 $CONFIG" cppsm test |
| 102 | + if [ "$TRAVIS_OS_NAME" = linux ]; then |
| 103 | + folded-finish LIBSTD_INSTALL_PID |
| 104 | + CMAKE_BUILD_TYPE=$CONFIG CC=clang CXX=clang++ folded "Clang $CONFIG" cppsm test |
| 105 | + folded-finish GCC_INSTALL_PID |
| 106 | + CMAKE_BUILD_TYPE=$CONFIG CC=gcc-9 CXX=g++-9 folded "GCC $CONFIG" cppsm test |
| 107 | + elif [ "$TRAVIS_OS_NAME" = windows ]; then |
| 108 | + CMAKE_BUILD_TYPE=$CONFIG CC='' CXX='' CMAKE_GENERATOR="Visual Studio 15 2017" folded "VC2017 $CONFIG" cppsm test |
| 109 | + folded-finish MAKE_INSTALL_PID |
| 110 | + CMAKE_BUILD_TYPE=$CONFIG CC="gcc" CXX="g++" folded "GCC $CONFIG" cppsm test |
| 111 | + elif [ "$TRAVIS_OS_NAME" = osx ]; then |
| 112 | + CMAKE_BUILD_TYPE=$CONFIG CC='' CXX='' CMAKE_GENERATOR=Xcode folded "Clang $CONFIG" cppsm test |
| 113 | + [ -z "$GCC_VERSION" ] || CMAKE_BUILD_TYPE=$CONFIG CC=gcc-$GCC_VERSION CXX=g++-$GCC_VERSION folded "GCC $CONFIG" cppsm test |
| 114 | + else |
| 115 | + echo "Unsupported OS: $TRAVIS_OS_NAME" |
| 116 | + exit 1 |
| 117 | + fi |
121 | 118 | done
|
122 | 119 |
|
123 |
| - # shellcheck disable=2009,2046 |
124 |
| - kill -9 $(ps | grep -o "^ *[0-9]\\+ *$$ " | sed -e 's#^ *##g' -e 's# .*##g') 2>/dev/null || true |
125 |
| -fi |
| 120 | + if [ "$TRAVIS_OS_NAME" = windows ]; then |
| 121 | + folded-finish VC2019_INSTALL_PID |
| 122 | + folded ... choco upgrade -y cmake.install |
126 | 123 |
|
127 |
| -code-coverage() { |
128 |
| - COVERAGE=1 cppsm test |
129 |
| - local COVERAGE_INFO="${TMP}coverage.info" |
130 |
| - lcov --capture --directory . --output-file "$COVERAGE_INFO" |
131 |
| - lcov --remove "$COVERAGE_INFO" '/Applications/*' --output-file "$COVERAGE_INFO" |
132 |
| - bash <(curl -s https://codecov.io/bash) -f "$COVERAGE_INFO" |
133 |
| -} |
| 124 | + for CONFIG in Debug Release; do |
| 125 | + CMAKE_BUILD_TYPE=$CONFIG CC='' CXX='' CMAKE_GENERATOR="Visual Studio 16 2019" folded "VC2019 $CONFIG" cppsm test |
| 126 | + done |
134 | 127 |
|
135 |
| -format-check() { |
136 |
| - cppsm format |
137 |
| - if [[ $(git status --porcelain) ]] ; then |
138 |
| - git status |
139 |
| - git diff |
140 |
| - exit 1 |
| 128 | + # shellcheck disable=2009,2046 |
| 129 | + kill -9 $(ps | grep -o "^ *[0-9]\\+ *$$ " | sed -e 's#^ *##g' -e 's# .*##g') 2>/dev/null || true |
141 | 130 | fi
|
142 | 131 | }
|
143 | 132 |
|
| 133 | +run-tests |
| 134 | + |
144 | 135 | if [ "$TRAVIS_OS_NAME" = osx ]; then
|
| 136 | + code-coverage() { |
| 137 | + COVERAGE=1 cppsm test |
| 138 | + local COVERAGE_INFO="${TMP}coverage.info" |
| 139 | + lcov --capture --directory . --output-file "$COVERAGE_INFO" |
| 140 | + lcov --remove "$COVERAGE_INFO" '/Applications/*' --output-file "$COVERAGE_INFO" |
| 141 | + bash <(curl -s https://codecov.io/bash) -f "$COVERAGE_INFO" |
| 142 | + } |
| 143 | + |
| 144 | + format-check() { |
| 145 | + cppsm format |
| 146 | + if [[ $(git status --porcelain) ]] ; then |
| 147 | + git status |
| 148 | + git diff |
| 149 | + exit 1 |
| 150 | + fi |
| 151 | + } |
| 152 | + |
145 | 153 | [ "$CODECOV" != 1 ] || folded-finish LCOV_INSTALL_PID
|
146 | 154 | [ "$CODECOV" != 1 ] || folded 'Code coverage' code-coverage
|
147 | 155 |
|
148 | 156 | [ "$FORMAT_CHECK" = 0 ] || folded-finish FORMAT_INSTALL_PID
|
149 | 157 | [ "$FORMAT_CHECK" = 0 ] || folded 'Format check' format-check
|
150 | 158 | fi
|
| 159 | + |
| 160 | +if [ "$UPGRADE_CHECK" != 0 ]; then |
| 161 | + upgrade() { |
| 162 | + cppsm upgrade |
| 163 | + } |
| 164 | + |
| 165 | + folded 'Upgrading dependencies' upgrade |
| 166 | + if ! git diff --cached --quiet; then |
| 167 | + run-tests |
| 168 | + fi |
| 169 | +fi |
0 commit comments