Skip to content

Commit 2509750

Browse files
committed
ci: add more test tools
1 parent c4c0f9c commit 2509750

File tree

4 files changed

+135
-13
lines changed

4 files changed

+135
-13
lines changed

.github/workflows/go.test.yml

Lines changed: 57 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,65 @@
1-
name: Go
2-
1+
name: CI
32
on:
43
push:
4+
branches:
5+
- "**"
6+
tags-ignore:
7+
- "v*.*.*"
58
pull_request:
6-
9+
branches:
10+
- "**"
711
jobs:
8-
build:
12+
tests:
13+
name: Unit and integrations tests
14+
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
go: ["1.25.1"]
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-go@v5
21+
with:
22+
go-version: ${{ matrix.go }}
23+
- name: Run tests
24+
run: |
25+
make test+coverage
26+
- uses: shogo82148/actions-goveralls@v1
27+
with:
28+
path-to-profile: coverage.txt
29+
30+
31+
spellcheck:
32+
name: Spellcheck
933
runs-on: ubuntu-latest
1034
steps:
11-
- uses: actions/checkout@v4
35+
- uses: actions/checkout@v4
36+
- uses: actions/setup-go@v5
37+
with:
38+
go-version: "1.25.1"
39+
cache: false
40+
- name: Run spellcheck
41+
run: |
42+
go install github.com/client9/misspell/cmd/misspell@latest
43+
misspell -error docs
1244
13-
- name: Set up Go
14-
uses: actions/setup-go@v4
15-
with:
16-
go-version: '1.23.4'
45+
lint:
46+
name: Lint
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v4
50+
- uses: actions/setup-go@v5
51+
with:
52+
go-version: "1.25.1"
53+
cache: false
54+
- name: Run lint
55+
uses: golangci/golangci-lint-action@v8
56+
with:
57+
version: v2.4
58+
args: --timeout 5m
1759

18-
- name: Test
19-
run: make test
60+
govulncheck:
61+
name: Check vulnerabilities
62+
runs-on: ubuntu-latest
63+
steps:
64+
- id: govulncheck
65+
uses: golang/govulncheck-action@v1

.golangci.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
version: "2"
2+
linters:
3+
enable:
4+
- bodyclose
5+
- copyloopvar
6+
- gocyclo
7+
- inamedparam
8+
- misspell
9+
- revive
10+
- testifylint
11+
- whitespace
12+
- unused
13+
- staticcheck
14+
- ineffassign
15+
- govet
16+
- sqlclosecheck
17+
- errcheck
18+
settings:
19+
gocyclo:
20+
min-complexity: 18
21+
govet:
22+
disable:
23+
- shadow
24+
- fieldalignment
25+
enable-all: true
26+
misspell:
27+
locale: US
28+
revive:
29+
rules:
30+
- name: var-naming
31+
disabled: false
32+
arguments:
33+
- [] # AllowList
34+
- ["DTO"] # DenyList
35+
- name: unused-parameter
36+
disabled: false
37+
- name: use-any
38+
disabled: false
39+
testifylint:
40+
disable:
41+
- require-error
42+
- error-nil
43+
- formatter
44+
- encoded-compare
45+
staticcheck:
46+
checks: ["all", "-QF1001"]
47+
exclusions:
48+
generated: strict
49+
rules:
50+
- linters:
51+
- gocyclo
52+
path: _test\.go
53+
- path: (.+)\.go$
54+
text: should have a package comment
55+
paths:
56+
- .github
57+
- resources
58+
issues:
59+
max-issues-per-linter: 0
60+
max-same-issues: 0
61+
formatters:
62+
enable:
63+
- gofmt
64+
settings:
65+
gofmt:
66+
simplify: true
67+
exclusions:
68+
generated: strict
69+
paths:
70+
- .github
71+
- resources

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
test:
22
go test -race -v ./...
3-
3+
4+
test+coverage:
5+
go test -race -coverprofile=coverage.txt -covermode=atomic -coverpkg=./... ./...
6+
47
changelog:
58
auto-changelog --output CHANGELOG.md
69

10+
lint:
11+
golangci-lint run --timeout=5m ./...

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/yosev/debugo
22

3-
go 1.23.4
3+
go 1.25.1
44

55
require (
66
github.com/fatih/color v1.18.0

0 commit comments

Comments
 (0)