diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e90512fc..8123b209 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,8 +12,6 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable - - name: Install system dependencies - run: sudo apt-get update && sudo apt-get install -y --no-install-recommends libpq-dev - name: Format run: cargo fmt --all -- --check - name: Lint @@ -23,11 +21,22 @@ jobs: - name: Install cargo-tarpaulin run: cargo install cargo-tarpaulin - name: Run coverage - run: cargo tarpaulin --out Xml - - name: Upload coverage - if: env.CS_ACCESS_TOKEN != '' - uses: codecov/codecov-action@v3 - with: - files: cobertura.xml - token: ${{ env.CS_ACCESS_TOKEN }} + run: cargo tarpaulin --out lcov + - name: Install CodeScene coverage tool + if: secrets.CS_ACCESS_TOKEN + env: + CODESCENE_CLI_SHA256: ${{ secrets.CODESCENE_CLI_SHA256 }} + run: | + set -euo pipefail + curl -fsSL -o install-cs-coverage-tool.sh https://downloads.codescene.io/enterprise/cli/install-cs-coverage-tool.sh + if [ -n "${CODESCENE_CLI_SHA256:-}" ]; then + echo "${CODESCENE_CLI_SHA256} install-cs-coverage-tool.sh" | sha256sum -c - + fi + bash install-cs-coverage-tool.sh -y + rm install-cs-coverage-tool.sh + - name: Upload coverage data to CodeScene + if: secrets.CS_ACCESS_TOKEN + env: + CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} + run: cs-coverage upload --format "lcov" --metric "line-coverage" "lcov.info" diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index cb9d70dc..00000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Coverage - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - coverage: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - profile: minimal - override: true - - name: Install cargo-tarpaulin - run: cargo install cargo-tarpaulin - - name: Run coverage - run: cargo tarpaulin --out Xml - - uses: codecov/codecov-action@v3 - with: - files: cobertura.xml diff --git a/.github/workflows/get-codescene-sha.yml b/.github/workflows/get-codescene-sha.yml new file mode 100644 index 00000000..4b7d95eb --- /dev/null +++ b/.github/workflows/get-codescene-sha.yml @@ -0,0 +1,17 @@ +name: Get CodeScene CLI SHA256 + +on: + workflow_dispatch: + +jobs: + fetch-sha: + runs-on: ubuntu-latest + steps: + - name: Compute SHA256 of install script + run: | + set -euo pipefail + url="https://downloads.codescene.io/enterprise/cli/install-cs-coverage-tool.sh" + curl -fsSL "$url" -o install-cs-coverage-tool.sh + hash=$(sha256sum install-cs-coverage-tool.sh | awk '{print $1}') + echo "CODESCENE_CLI_SHA256=$hash" + rm install-cs-coverage-tool.sh