Skip to content

Commit d929250

Browse files
xaionaro@dx.centerxaionaro@dx.center
authored andcommitted
ci: add CI workflow (unit tests, vet, build, lint)
1 parent b244937 commit d929250

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
test:
14+
name: Unit tests
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- uses: actions/setup-go@v5
20+
with:
21+
go-version: "1.24.x"
22+
23+
- name: Run unit tests
24+
run: go test ./grpc/server/acl/ ./grpc/server/certauth/ ./tools/...
25+
26+
vet:
27+
name: Vet
28+
runs-on: ubuntu-latest
29+
steps:
30+
- uses: actions/checkout@v4
31+
32+
- uses: actions/setup-go@v5
33+
with:
34+
go-version: "1.24.x"
35+
36+
- name: Vet packages
37+
run: go vet ./grpc/server/acl/ ./grpc/server/certauth/ ./tools/... ./handlestore/
38+
39+
build:
40+
name: Build binaries
41+
runs-on: ubuntu-latest
42+
strategy:
43+
matrix:
44+
binary: [jnicli, jniserviceadmin]
45+
steps:
46+
- uses: actions/checkout@v4
47+
48+
- uses: actions/setup-go@v5
49+
with:
50+
go-version: "1.24.x"
51+
52+
- name: Build (linux/amd64)
53+
env:
54+
BINARY: ${{ matrix.binary }}
55+
run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /dev/null "./cmd/${BINARY}/"
56+
57+
- name: Build (linux/arm64)
58+
env:
59+
BINARY: ${{ matrix.binary }}
60+
run: CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o /dev/null "./cmd/${BINARY}/"
61+
62+
lint:
63+
name: Lint
64+
runs-on: ubuntu-latest
65+
steps:
66+
- uses: actions/checkout@v4
67+
68+
- uses: actions/setup-go@v5
69+
with:
70+
go-version: "1.24.x"
71+
72+
- name: Install golangci-lint v2
73+
run: go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
74+
75+
- name: Lint
76+
run: golangci-lint run --build-tags="" ./grpc/server/acl/ ./grpc/server/certauth/ ./tools/... ./handlestore/ ./cmd/jnicli/ ./cmd/jniserviceadmin/

0 commit comments

Comments
 (0)