From b235c6ca453ea7b1f31271482de0be5ed091979c Mon Sep 17 00:00:00 2001 From: Micheal Wilkinson Date: Sat, 21 Mar 2026 11:31:52 +0000 Subject: [PATCH] chore(go): wire coverage-badge action inputs --- .gitea/workflows/push-validation.yml | 85 +++++----------------------- 1 file changed, 15 insertions(+), 70 deletions(-) diff --git a/.gitea/workflows/push-validation.yml b/.gitea/workflows/push-validation.yml index ae13ffc..c5c9da0 100644 --- a/.gitea/workflows/push-validation.yml +++ b/.gitea/workflows/push-validation.yml @@ -55,7 +55,7 @@ jobs: run: aws --version - name: Run full unit test suite with coverage - id: coverage + id: coverage-tests run: | set -euo pipefail @@ -121,81 +121,26 @@ jobs: exit 1 fi + - name: Publish coverage artefacts + id: coverage-badge + uses: git.hrafn.xyz/aether/vociferate/coverage-badge@v1.0.1 + with: + coverage-profile: coverage.out + coverage-html: coverage.html + coverage-badge: coverage-badge.svg + coverage-summary: coverage-summary.json + artefact-bucket-name: ${{ vars.ARTEFACT_BUCKET_NAME }} + artefact-bucket-endpoint: ${{ vars.ARTEFACT_BUCKET_ENDPONT }} + branch-name: ${{ github.ref_name }} + repository-name: ${{ github.repository }} + summary-file: ${{ env.SUMMARY_FILE }} + - name: Run security analysis run: | set -euo pipefail "$(go env GOPATH)/bin/gosec" ./... "$(go env GOPATH)/bin/govulncheck" ./... - - name: Generate coverage badge - env: - COVERAGE_TOTAL: ${{ steps.coverage.outputs.total }} - run: | - set -euo pipefail - - color="$(awk -v total="$COVERAGE_TOTAL" 'BEGIN { - if (total >= 80) print "brightgreen"; - else if (total >= 70) print "green"; - else if (total >= 60) print "yellowgreen"; - else if (total >= 50) print "yellow"; - else print "red"; - }')" - - cat > coverage-badge.svg < - - - - - - - - - - - - - - coverage - coverage - ${COVERAGE_TOTAL}% - ${COVERAGE_TOTAL}% - - - EOF - - - name: Upload branch coverage artefacts - id: upload - run: | - set -euo pipefail - - aws configure set default.s3.addressing_style path - - repo_name="${GITHUB_REPOSITORY##*/}" - prefix="${repo_name}/branch/${GITHUB_REF_NAME}" - report_url="${ARTEFACT_BUCKET_ENDPONT%/}/${ARTEFACT_BUCKET_NAME}/${prefix}/coverage.html" - badge_url="${ARTEFACT_BUCKET_ENDPONT%/}/${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-badge.svg" - - aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage.html "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage.html" --content-type text/html - aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage-badge.svg "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-badge.svg" --content-type image/svg+xml - aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage-summary.json "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-summary.json" --content-type application/json - - printf 'report_url=%s\n' "$report_url" >> "$GITHUB_OUTPUT" - printf 'badge_url=%s\n' "$badge_url" >> "$GITHUB_OUTPUT" - - - name: Add coverage summary - run: | - { - echo '## Coverage' - echo - echo '- Total: `${{ steps.coverage.outputs.total }}%`' - echo '- Report: ${{ steps.upload.outputs.report_url }}' - echo '- Badge: ${{ steps.upload.outputs.badge_url }}' - echo - echo '### Package Coverage' - cat coverage-packages.md - } >> "$SUMMARY_FILE" - - name: Run behavior suite on main pushes if: ${{ github.ref == 'refs/heads/main' }} run: ./script/run-behavior-suite-docker.sh