|
20 | 20 | #
|
21 | 21 | # CODECOV_TOKEN: the token to use when uploading results to codecov.io
|
22 | 22 | #
|
23 |
| -# CODECOV_ARGS: additional arguments to pass to the codecov uploader |
24 |
| -# (e.g., to support SSL certificates) |
| 23 | +# CODECOV_SOURCE_BRANCH: passed to the 'codecov-cli' command; branch of Pyomo |
| 24 | +# (e.g., to enable correct codecov uploads) |
| 25 | +# |
| 26 | +# CODECOV_REPO_OWNER: passed to the 'codecov-cli' command; owner of repo |
| 27 | +# (e.g., to enable correct codecov uploads) |
25 | 28 | #
|
26 | 29 | # DISABLE_COVERAGE: if nonempty, then coverage analysis is disabled
|
27 | 30 | #
|
@@ -202,22 +205,43 @@ if test -z "$MODE" -o "$MODE" == test; then
|
202 | 205 | # Note, that the PWD should still be $WORKSPACE/pyomo
|
203 | 206 | #
|
204 | 207 | coverage combine || exit 1
|
205 |
| - coverage report -i |
| 208 | + coverage report -i || exit 1 |
| 209 | + coverage xml -i || exit 1 |
206 | 210 | export OS=`uname`
|
207 |
| - if test -z "$CODECOV_TOKEN"; then |
208 |
| - coverage xml |
209 |
| - else |
210 |
| - CODECOV_JOB_NAME=`echo ${JOB_NAME} | sed -r 's/^(.*autotest_)?Pyomo_([^\/]+).*/\2/'`.$BUILD_NUMBER.$python |
| 211 | + if test -z "$PYOMO_SOURCE_SHA"; then |
| 212 | + PYOMO_SOURCE_SHA=$GIT_COMMIT |
| 213 | + fi |
| 214 | + if test -n "$CODECOV_TOKEN" -a -n "$PYOMO_SOURCE_SHA"; then |
| 215 | + CODECOV_JOB_NAME=$(echo ${JOB_NAME} \ |
| 216 | + | sed -r 's/^(.*autotest_)?Pyomo_([^\/]+).*/\2/').$BUILD_NUMBER.$python |
| 217 | + if test -z "$CODECOV_REPO_OWNER"; then |
| 218 | + if test -n "$PYOMO_SOURCE_REPO"; then |
| 219 | + CODECOV_REPO_OWNER=$(echo "$PYOMO_SOURCE_REPO" | cut -d '/' -f 4) |
| 220 | + elif test -n "$GIT_URL"; then |
| 221 | + CODECOV_REPO_OWNER=$(echo "$GIT_URL" | cut -d '/' -f 4) |
| 222 | + else |
| 223 | + CODECOV_REPO_OWNER="" |
| 224 | + fi |
| 225 | + fi |
| 226 | + if test -z "$CODECOV_SOURCE_BRANCH"; then |
| 227 | + CODECOV_SOURCE_BRANCH=$(git branch -av --contains "$PYOMO_SOURCE_SHA" \ |
| 228 | + | grep "${PYOMO_SOURCE_SHA:0:7}" | grep "/origin/" \ |
| 229 | + | cut -d '/' -f 3 | cut -d' ' -f 1) |
| 230 | + if test -z "$CODECOV_SOURCE_BRANCH"; then |
| 231 | + CODECOV_SOURCE_BRANCH=main |
| 232 | + fi |
| 233 | + fi |
211 | 234 | i=0
|
212 | 235 | while /bin/true; do
|
213 | 236 | i=$[$i+1]
|
214 | 237 | echo "Uploading coverage to codecov (attempt $i)"
|
215 |
| - codecov -X gcovcodecov -X gcov -X s3 --no-color \ |
216 |
| - -t $CODECOV_TOKEN --root `pwd` -e OS,python \ |
217 |
| - --name $CODECOV_JOB_NAME $CODECOV_ARGS \ |
218 |
| - | tee .cover.upload |
219 |
| - if test $? == 0 -a `grep -i error .cover.upload \ |
220 |
| - | grep -v branch= | wc -l` -eq 0; then |
| 238 | + codecovcli -v upload-process --sha $PYOMO_SOURCE_SHA \ |
| 239 | + --fail-on-error --git-service github --token $CODECOV_TOKEN \ |
| 240 | + --slug pyomo/pyomo --file coverage.xml --disable-search \ |
| 241 | + --name $CODECOV_JOB_NAME \ |
| 242 | + --branch $CODECOV_REPO_OWNER:$CODECOV_SOURCE_BRANCH \ |
| 243 | + --env OS,python --network-root-folder `pwd` --plugin noop |
| 244 | + if test $? == 0; then |
221 | 245 | break
|
222 | 246 | elif test $i -ge 4; then
|
223 | 247 | exit 1
|
|
0 commit comments