From f5fbdb1ab96ca9aa141eec763643bdfde5f7da1f Mon Sep 17 00:00:00 2001 From: Thomas de Jong Date: Mon, 8 Jun 2026 09:46:51 +0200 Subject: [PATCH] ci: replace pages coverage publishing with workflow badge --- .github/workflows/coverage.yml | 100 +++++++-------------------------- README.md | 2 +- 2 files changed, 20 insertions(+), 82 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 4ec365b..2802062 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -9,7 +9,7 @@ permissions: contents: read concurrency: - group: coverage-pages-${{ github.ref }} + group: coverage-${{ github.ref }} cancel-in-progress: true jobs: @@ -35,92 +35,30 @@ jobs: go test -coverprofile=coverage.out ./... GOWORK=off go -C observe/prometheus test -coverprofile=../../coverage-prometheus.out ./... - - name: Build coverage site + - name: Build coverage reports run: | set -euo pipefail - mkdir -p public/coverage + mkdir -p coverage - go tool cover -func=coverage.out | tee public/coverage/root.txt - go tool cover -html=coverage.out -o public/coverage/root.html - GOWORK=off go -C observe/prometheus tool cover -func=../../coverage-prometheus.out | tee public/coverage/prometheus.txt - GOWORK=off go -C observe/prometheus tool cover -html=../../coverage-prometheus.out -o ../../public/coverage/prometheus.html + go tool cover -func=coverage.out | tee coverage/root.txt + go tool cover -html=coverage.out -o coverage/root.html + GOWORK=off go -C observe/prometheus tool cover -func=../../coverage-prometheus.out | tee coverage/prometheus.txt + GOWORK=off go -C observe/prometheus tool cover -html=../../coverage-prometheus.out -o ../../coverage/prometheus.html - root_pct=$(awk '/^total:/ {print $3}' public/coverage/root.txt) - prometheus_pct=$(awk '/^total:/ {print $3}' public/coverage/prometheus.txt) - root_num=${root_pct%%%} - root_int=${root_num%.*} + root_pct=$(awk '/^total:/ {print $3}' coverage/root.txt) + prometheus_pct=$(awk '/^total:/ {print $3}' coverage/prometheus.txt) - color="#e05d44" - if [ "$root_int" -ge 90 ]; then - color="#4c1" - elif [ "$root_int" -ge 75 ]; then - color="#dfb317" - fi - - cat > public/coverage.svg < - - - - - - - - - - - - - coverage - - $root_pct - - - EOF - - cat > public/coverage/index.html < - - - - - clientip coverage - - -

clientip coverage

-

coverage: $root_pct

-
    -
  • Root module: $root_pct (HTML, text)
  • -
  • Prometheus adapter: $prometheus_pct (HTML, text)
  • -
- - - EOF + { + echo "## Coverage" + echo "" + echo "| Module | Coverage | Report |" + echo "| --- | ---: | --- |" + echo "| Root | $root_pct | coverage/root.txt, coverage/root.html |" + echo "| Prometheus adapter | $prometheus_pct | coverage/prometheus.txt, coverage/prometheus.html |" + } >> "$GITHUB_STEP_SUMMARY" - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: - name: coverage-site - path: public/ + name: coverage-reports + path: coverage/ retention-days: 14 - - deploy: - if: github.event_name == 'push' - needs: coverage - runs-on: ubuntu-latest - permissions: - pages: write - id-token: write - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 - with: - name: coverage-site - path: public/ - - uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6 - - uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4 - with: - path: public/ - - id: deployment - uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 diff --git a/README.md b/README.md index cfc0935..a2939f4 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![CI](https://github.com/abczzz13/clientip/actions/workflows/ci.yml/badge.svg)](https://github.com/abczzz13/clientip/actions/workflows/ci.yml) [![Security](https://github.com/abczzz13/clientip/actions/workflows/security.yml/badge.svg)](https://github.com/abczzz13/clientip/actions/workflows/security.yml) [![Fuzz](https://github.com/abczzz13/clientip/actions/workflows/fuzz.yml/badge.svg)](https://github.com/abczzz13/clientip/actions/workflows/fuzz.yml) -[![Coverage](https://abczzz13.github.io/clientip/coverage.svg)](https://abczzz13.github.io/clientip/coverage/) +[![Coverage](https://github.com/abczzz13/clientip/actions/workflows/coverage.yml/badge.svg)](https://github.com/abczzz13/clientip/actions/workflows/coverage.yml) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/abczzz13/clientip/badge)](https://scorecard.dev/viewer/?uri=github.com/abczzz13/clientip) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/13032/badge)](https://www.bestpractices.dev/projects/13032) [![License](https://img.shields.io/github/license/abczzz13/clientip)](LICENSE)