From f288afde1dd1bcc0b4fc926b9f6f2e327848b442 Mon Sep 17 00:00:00 2001 From: Cristian Vera Date: Mon, 1 Nov 2021 12:41:56 -0300 Subject: [PATCH] Use codecov github action instead of deprecated bash uploader (#9252) Fixes #9202. --- .github/workflows/main.yml | 16 +++++++++++----- changelog/9202.improvement.rst | 1 + scripts/upload-coverage.sh | 28 ---------------------------- 3 files changed, 12 insertions(+), 33 deletions(-) create mode 100644 changelog/9202.improvement.rst delete mode 100755 scripts/upload-coverage.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 684e603a9..92e2dc6be 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -165,11 +165,17 @@ jobs: if: "matrix.use_coverage" run: "tox -e ${{ matrix.tox_env }}-coverage" - - name: Upload coverage - if: matrix.use_coverage && github.repository == 'pytest-dev/pytest' - env: - CODECOV_NAME: ${{ matrix.name }} - run: bash scripts/upload-coverage.sh -F GHA,${{ runner.os }} + - name: Generate coverage report + if: "matrix.use_coverage" + run: python -m coverage xml + + - name: Upload coverage to Codecov + if: "matrix.use_coverage" + uses: codecov/codecov-action@v2 + with: + fail_ci_if_error: true + files: ./coverage.xml + verbose: true deploy: if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') && github.repository == 'pytest-dev/pytest' diff --git a/changelog/9202.improvement.rst b/changelog/9202.improvement.rst new file mode 100644 index 000000000..916d75074 --- /dev/null +++ b/changelog/9202.improvement.rst @@ -0,0 +1 @@ +Add github action to upload coverage report to codecov instead of bash uploader. diff --git a/scripts/upload-coverage.sh b/scripts/upload-coverage.sh deleted file mode 100755 index 089fb67bf..000000000 --- a/scripts/upload-coverage.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail -set -x - -# Install coverage. -if [[ -z ${TOXENV+x} || -z $TOXENV ]]; then - python -m pip install coverage -else - # Add last TOXENV to $PATH. - PATH="$PWD/.tox/${TOXENV##*,}/bin:$PATH" -fi - -# Run coverage. -python -m coverage xml - -# Download and verify latest Codecov bash uploader. -# Set --connect-timeout to work around https://github.com/curl/curl/issues/4461 -curl --silent --show-error --location --connect-timeout 5 --retry 6 -o codecov https://codecov.io/bash -VERSION=$(grep --only-matching 'VERSION=\"[0-9\.]*\"' codecov | cut -d'"' -f2) -if command -v sha256sum; then - sha256sum --check --strict --ignore-missing --quiet <(curl --silent "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA256SUM") -else - shasum --algorithm 256 --check --strict --ignore-missing --quiet <(curl --silent "https://raw.githubusercontent.com/codecov/codecov-bash/${VERSION}/SHA256SUM") -fi - -# Upload coverage. -bash codecov -Z -X fix -f coverage.xml "$@"