From b6ab6bde09d69ff75f94d2144c13675ed1ad829c Mon Sep 17 00:00:00 2001 From: Leynos Date: Sat, 14 Jun 2025 00:16:20 +0100 Subject: [PATCH 1/5] Remove coverage workflow --- .github/workflows/ci.yml | 20 ++++++++++++++------ .github/workflows/coverage.yml | 25 ------------------------- 2 files changed, 14 insertions(+), 31 deletions(-) delete mode 100644 .github/workflows/coverage.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e90512fc..ae692af4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,7 @@ jobs: runs-on: ubuntu-latest env: CARGO_TERM_COLOR: always + CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable @@ -23,11 +24,18 @@ jobs: - name: Install cargo-tarpaulin run: cargo install cargo-tarpaulin - name: Run coverage - run: cargo tarpaulin --out Xml - - name: Upload coverage + run: cargo tarpaulin --out Lcov + - name: Install CodeScene coverage tool if: env.CS_ACCESS_TOKEN != '' - uses: codecov/codecov-action@v3 - with: - files: cobertura.xml - token: ${{ env.CS_ACCESS_TOKEN }} + run: | + set -euo pipefail + curl -fsSL -o install-cs-coverage-tool.sh https://downloads.codescene.io/enterprise/cli/install-cs-coverage-tool.sh + echo "${CODESCENE_CLI_SHA256} install-cs-coverage-tool.sh" | sha256sum -c - + bash install-cs-coverage-tool.sh -y + rm install-cs-coverage-tool.sh + - name: Upload coverage data to CodeScene + if: env.CS_ACCESS_TOKEN != '' + run: cs-coverage upload --format "lcov" --metric "line-coverage" "lcov.info" + env: + CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} 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 From 9733b59e77c2d7bde7410fd1f275a3225d599f0d Mon Sep 17 00:00:00 2001 From: Leynos Date: Sat, 14 Jun 2025 01:34:48 +0100 Subject: [PATCH 2/5] Remove libpq-dev from CI workflow --- .github/workflows/ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae692af4..dc25caa8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,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 From bc6b9a10bc151c824082201a1518c053cce21237 Mon Sep 17 00:00:00 2001 From: Leynos Date: Sat, 14 Jun 2025 02:11:42 +0100 Subject: [PATCH 3/5] Scope CodeScene token --- .github/workflows/ci.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc25caa8..09818a15 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,6 @@ jobs: runs-on: ubuntu-latest env: CARGO_TERM_COLOR: always - CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@stable @@ -22,9 +21,12 @@ jobs: - name: Install cargo-tarpaulin run: cargo install cargo-tarpaulin - name: Run coverage - run: cargo tarpaulin --out Lcov + run: cargo tarpaulin --out lcov - name: Install CodeScene coverage tool - if: env.CS_ACCESS_TOKEN != '' + if: secrets.CS_ACCESS_TOKEN + env: + CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} + 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 @@ -32,8 +34,8 @@ jobs: bash install-cs-coverage-tool.sh -y rm install-cs-coverage-tool.sh - name: Upload coverage data to CodeScene - if: env.CS_ACCESS_TOKEN != '' - run: cs-coverage upload --format "lcov" --metric "line-coverage" "lcov.info" + if: secrets.CS_ACCESS_TOKEN env: CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} + run: cs-coverage upload --format "lcov" --metric "line-coverage" "lcov.info" From ad4e345d3947e84b56ab3e04af2af0b91f060220 Mon Sep 17 00:00:00 2001 From: Leynos Date: Sat, 14 Jun 2025 02:56:20 +0100 Subject: [PATCH 4/5] Install CodeScene tool conditionally --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09818a15..8123b209 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,12 +25,13 @@ jobs: - name: Install CodeScene coverage tool if: secrets.CS_ACCESS_TOKEN env: - CS_ACCESS_TOKEN: ${{ secrets.CS_ACCESS_TOKEN }} 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 - echo "${CODESCENE_CLI_SHA256} install-cs-coverage-tool.sh" | sha256sum -c - + 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 From 6e763f324e5af441a10426c4de5744181083e348 Mon Sep 17 00:00:00 2001 From: Leynos Date: Sat, 14 Jun 2025 02:56:26 +0100 Subject: [PATCH 5/5] Add workflow to fetch CodeScene CLI checksum --- .github/workflows/get-codescene-sha.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/get-codescene-sha.yml 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