ministream/.gitea/workflows/go-test.yml

71 lines
1.4 KiB
YAML
Raw Normal View History

2023-12-05 20:51:15 +00:00
name: Run go tests
on:
2023-12-05 21:38:21 +00:00
- push
2023-12-05 20:51:15 +00:00
- pull_request
env:
GOPATH: /go_path
GOCACHE: /go_cache
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 5
env:
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: https://github.com/actions/setup-go@v4
with:
go-version: 1.21
use-latest: true
- name: Hash go.mod and go.sum
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
id: hash-go
with:
patterns: |
go.mod
go.sum
- name: Cache go
uses: actions/cache@v3
2023-12-05 21:41:57 +00:00
id: cache-go
with:
path: |
/go_path
/go_cache
key: cache-go-${{ steps.hash-go.outputs.hash }}
2023-12-05 20:51:15 +00:00
- name: Go mod download
run: go mod download
- name: Go mod verify
run: go mod verify
- name: Go mod tidy
run: go mod tidy && git diff --exit-code
- name: Check gofmt
run: gofmt -s -w . && git diff --exit-code
- name: Check go vet
run: go vet ./...
- name: Build
run: go build -v ./...
- name: Test
2023-12-05 21:11:09 +00:00
run: go test -cover -coverprofile=/tmp/cov.out -v ./...
- name: Make coverage report
run: go tool cover -html=/tmp/cov.out -o /tmp/cov.html
- name: Publish coverage report
uses: actions/upload-artifact@v3
with:
name: coverage-report
path: /tmp/cov.html