name: coverage on: push: branches: [ main, v3, v4 ] pull_request: branches: [ main, v3, v4 ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: checkout code uses: actions/checkout@v4 with: filter: 'blob:none' - name: setup go uses: actions/setup-go@v5 with: cache-dependency-path: "**/*.sum" go-version: 'stable' - name: test coverage run: | go test -v -cover ./... -coverprofile coverage.out -coverpkg ./... go tool cover -func coverage.out -o coverage.out - name: coverage badge uses: tj-actions/coverage-badge-go@v1 with: green: 80 filename: coverage.out - uses: stefanzweifel/git-auto-commit-action@v4 id: auto-commit-action with: commit_message: Apply Code Coverage Badge skip_fetch: true skip_checkout: true file_pattern: ./README.md - name: Push Changes if: steps.auto-commit-action.outputs.changes_detected == 'true' uses: ad-m/github-push-action@master with: github_token: ${{ github.token }} branch: ${{ github.ref }}