Skip to content

Commit b16df68

Browse files
refactor: cleanup redundancies in actions workflow
update the .workflows/test.yml file to remove (most) redudancies in the .workflows/test.yml file... * add matrix entries for go versions 1.23, 1.24 * add matrix entries for each "latest" os (macos, linux, windows) * use this matrix for both testing and linting, but keep jobs separate * update golangci-lint timeout to 120s as it was timing out on windows
1 parent 4d8d7ef commit b16df68

File tree

1 file changed

+15
-88
lines changed

1 file changed

+15
-88
lines changed

.github/workflows/test.yml

Lines changed: 15 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -7,94 +7,17 @@ on:
77
branches:
88
- main
99
jobs:
10-
go_tests_latest:
11-
runs-on: windows-latest
10+
go_unit_tests:
11+
strategy:
12+
matrix:
13+
go-version: [1.23, 1.24]
14+
runs-on: [windows-latest, macos-latest, ubuntu-latest]
15+
runs-on: ${{ matrix.runs-on }}
1216
steps:
1317
- name: Install Go
1418
uses: actions/setup-go@v5
1519
with:
16-
go-version: 1.24
17-
18-
- name: Check out code into the Go module directory
19-
uses: actions/checkout@v4
20-
21-
- name: Run vet
22-
run: go vet ./...
23-
24-
- name: Test
25-
run: go test --mode=unit -v ./...
26-
# go_tests_mac_latest:
27-
# runs-on: macos-latest
28-
# steps:
29-
# - name: Install Go
30-
# uses: actions/setup-go@v5
31-
# with:
32-
# go-version: 1.24
33-
34-
# - name: Check out code into the Go module directory
35-
# uses: actions/checkout@v4
36-
37-
# - name: Run vet
38-
# run: go vet ./...
39-
40-
# - name: Test
41-
# run: go test --mode=unit -v ./...
42-
go_tests_linux_latest:
43-
runs-on: ubuntu-latest
44-
steps:
45-
- name: Install Go
46-
uses: actions/setup-go@v5
47-
with:
48-
go-version: 1.24
49-
50-
- name: Check out code into the Go module directory
51-
uses: actions/checkout@v4
52-
53-
- name: Run vet
54-
run: go vet ./...
55-
56-
- name: Test
57-
run: go test --mode=unit -v ./...
58-
go_tests:
59-
runs-on: windows-latest
60-
steps:
61-
- name: Install Go
62-
uses: actions/setup-go@v5
63-
with:
64-
go-version: 1.23
65-
66-
- name: Check out code into the Go module directory
67-
uses: actions/checkout@v4
68-
69-
- name: Run vet
70-
run: go vet ./...
71-
72-
- name: Test
73-
run: go test --mode=unit -v ./...
74-
go_tests_mac:
75-
# TODO: Change to macos-latest once hanging issue is resolved.
76-
runs-on: ubuntu-latest
77-
steps:
78-
- name: Install Go
79-
uses: actions/setup-go@v5
80-
with:
81-
go-version: 1.23
82-
83-
- name: Check out code into the Go module directory
84-
uses: actions/checkout@v4
85-
86-
- name: Run vet
87-
run: go vet ./...
88-
89-
- name: Test
90-
run: go test --mode=unit -v ./...
91-
go_tests_linux:
92-
runs-on: ubuntu-latest
93-
steps:
94-
- name: Install Go
95-
uses: actions/setup-go@v5
96-
with:
97-
go-version: 1.23
20+
go-version: ${{ matrix.go-version }}
9821

9922
- name: Check out code into the Go module directory
10023
uses: actions/checkout@v4
@@ -105,16 +28,20 @@ jobs:
10528
- name: Test
10629
run: go test --mode=unit -v ./...
10730
lint:
108-
runs-on: ubuntu-latest
31+
strategy:
32+
matrix:
33+
go-version: [1.23, 1.24]
34+
runs-on: [windows-latest, macos-latest, ubuntu-latest]
35+
runs-on: ${{ matrix.runs-on }}
10936
steps:
11037
- name: Setup go
11138
uses: actions/setup-go@v4
11239
with:
113-
go-version: '1.23'
40+
go-version: ${{ matrix.go-version }}
11441
- name: Checkout repository
11542
uses: actions/checkout@v3
116-
- name: Setup golangci-lint
43+
- name: Setup and run golangci-lint
11744
uses: golangci/golangci-lint-action@v3
11845
with:
11946
version: latest
120-
args: --max-same-issues 0 --out-format colored-line-number --exclude-dirs=examples
47+
args: --timeout 120s --max-same-issues 0 --out-format colored-line-number --exclude-dirs=examples

0 commit comments

Comments
 (0)