Skip to content

Commit 3d60a42

Browse files
committed
Add GitHub Actions CI to test the project on macOS
1 parent d6f89c3 commit 3d60a42

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
on: pull_request
2+
name: macos latest
3+
jobs:
4+
setup:
5+
name: Setup Environment
6+
runs-on: macos-latest
7+
steps:
8+
- name: Install Go
9+
uses: actions/setup-go@v1
10+
clean-code:
11+
name: Clean Code
12+
runs-on: macos-latest
13+
needs:
14+
- setup
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v1
18+
- name: Verify modules
19+
run: go mod verify
20+
- name: Modules graph
21+
run: go mod graph
22+
- name: Run go vet
23+
run: go vet ./cmd/hkmgr ./internal/...
24+
- name: Run go fmt
25+
run: test -z "$(gofmt -s -l cmd internal)"
26+
test:
27+
name: Test
28+
runs-on: macos-latest
29+
env:
30+
CGO_ENABLED: 0
31+
needs:
32+
- setup
33+
steps:
34+
- name: Checkout code
35+
uses: actions/checkout@v1
36+
- name: Test all
37+
run: go test -mod=vendor -a -ldflags '-s' ./...
38+
- name: Test coverage
39+
run: go test -mod=vendor -cover ./...
40+
race:
41+
name: Race
42+
runs-on: macos-latest
43+
needs:
44+
- setup
45+
steps:
46+
- name: Checkout code
47+
uses: actions/checkout@v1
48+
- name: Race detector
49+
run: go test -mod=vendor -race ./...
50+
compile:
51+
name: Compile
52+
runs-on: macos-latest
53+
env:
54+
CGO_ENABLED: 0
55+
needs:
56+
- setup
57+
steps:
58+
- name: Checkout code
59+
uses: actions/checkout@v1
60+
- name: Build all tools
61+
run: go build -mod=vendor -a -ldflags '-s' ./...

0 commit comments

Comments
 (0)