51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
|
name: Go # The name of the workflow that will appear on Github
|
||
|
|
||
|
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 }}
|