Skip to content

Commit fe04f88

Browse files
committed
ci: update workflows to use just recipes
1 parent 9fe7d48 commit fe04f88

File tree

4 files changed

+111
-7
lines changed

4 files changed

+111
-7
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,28 @@ jobs:
3131
- name: Verify dependencies
3232
run: go mod verify
3333

34+
- name: Install just
35+
uses: taiki-e/install-action@v2
36+
with:
37+
tool: just
38+
3439
- name: Install golangci-lint
3540
uses: golangci/golangci-lint-action@v9
3641
with:
3742
version: latest
3843
install-mode: binary
3944
skip-cache: false
4045

46+
- name: Install Go tools
47+
run: |
48+
go install golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest
49+
50+
- name: Run go modernize
51+
run: just modernize
52+
53+
- name: Run golangci-lint
54+
run: just lint
55+
4156
test:
4257
name: test
4358
runs-on: ubuntu-latest
@@ -60,5 +75,40 @@ jobs:
6075
- name: Verify dependencies
6176
run: go mod verify
6277

63-
- name: Run tests
64-
run: go test -count=1 -timeout 30s $(go list ./... | grep -Ev 'internal/testhelpers|internal/testutils|internal/templates') -covermode=atomic
78+
- name: Install just
79+
uses: taiki-e/install-action@v2
80+
with:
81+
tool: just
82+
83+
- name: Run test
84+
run: just test
85+
86+
test-race:
87+
name: test-race
88+
runs-on: ubuntu-latest
89+
needs: lint
90+
91+
steps:
92+
- name: Checkout code
93+
uses: actions/checkout@v6
94+
95+
- name: Set up Go
96+
uses: actions/setup-go@v6
97+
with:
98+
go-version: ${{ env.GO_VERSION }}
99+
cache-dependency-path: go.sum
100+
check-latest: true
101+
102+
- name: Install Go modules
103+
run: go mod download
104+
105+
- name: Verify dependencies
106+
run: go mod verify
107+
108+
- name: Install just
109+
uses: taiki-e/install-action@v2
110+
with:
111+
tool: just
112+
113+
- name: Run tests with race detector
114+
run: just test-race

.github/workflows/coverage.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,13 @@ jobs:
2828
- name: Verify dependencies
2929
run: go mod verify
3030

31-
- name: Run go test
32-
run: go test -count=1 -timeout 30s $(go list ./... | grep -Ev 'internal/testhelpers|internal/testutils|internal/templates') -covermode=atomic -coverprofile=coverage.txt
31+
- name: Install just
32+
uses: taiki-e/install-action@v2
33+
with:
34+
tool: just
35+
36+
- name: Run test
37+
run: just test-coverage
3338

3439
- name: Upload coverage reports to Codecov
3540
uses: codecov/codecov-action@v5

.github/workflows/release.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,13 @@ jobs:
3838

3939
steps:
4040
- name: Checkout code
41-
uses: actions/checkout@v4
41+
uses: actions/checkout@v6
4242

4343
- name: Set up Go
44-
uses: actions/setup-go@v5
44+
uses: actions/setup-go@v6
4545
with:
46-
go-version: '1.24'
46+
go-version: ${{ env.GO_VERSION }}
47+
cache-dependency-path: go.sum
4748
check-latest: true
4849

4950
- name: Run GoReleaser

.github/workflows/security.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: security
2+
3+
on:
4+
schedule:
5+
- cron: '0 6 * * 1' # Every Monday at 6:00 AM UTC
6+
push:
7+
branches:
8+
- main
9+
pull_request:
10+
branches:
11+
- main
12+
workflow_dispatch:
13+
14+
env:
15+
GO_VERSION: '1.25'
16+
17+
jobs:
18+
govulncheck:
19+
name: govulncheck
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v6
24+
25+
- name: Set up Go
26+
uses: actions/setup-go@v6
27+
with:
28+
go-version: ${{ env.GO_VERSION }}
29+
cache-dependency-path: go.sum
30+
check-latest: true
31+
32+
- name: Install Go modules
33+
run: go mod download
34+
35+
- name: Verify dependencies
36+
run: go mod verify
37+
38+
- name: Install just
39+
uses: taiki-e/install-action@v2
40+
with:
41+
tool: just
42+
43+
- name: Install govulncheck
44+
run: |
45+
go install golang.org/x/vuln/cmd/govulncheck@latest
46+
47+
- name: Run govulncheck
48+
run: just security-scan

0 commit comments

Comments
 (0)