1+ name : CI Checks
2+ on :
3+ push :
4+ pull_request :
5+
6+ jobs :
7+ golang-unit-test :
8+ name : Golang unit test
9+ runs-on : ubuntu-latest
10+
11+ steps :
12+ - name : Checkout
13+ uses : actions/checkout@v4
14+ with :
15+ submodules : true
16+ fetch-depth : 0 # get full history for branch checking
17+
18+ - name : Setup Go environment
19+ uses : actions/setup-go@v5
20+ with :
21+ go-version : ' 1.23.4'
22+
23+ - name : Run unit test
24+ uses : nick-fields/retry@v3
25+ with :
26+ max_attempts : 2
27+ timeout_minutes : 30
28+ command : |
29+ docker compose -f docker/github_actions/docker-compose.yml run unit-test bash -c "make cover_profile && ./scripts/gen_coverage_metadata.sh .build/coverage/metadata.txt"
30+
31+ - name : Upload coverage artifacts
32+ uses : actions/upload-artifact@v4
33+ with :
34+ name : go-unit-test-coverage
35+ path : |
36+ .build/coverage/*.out
37+ .build/coverage/metadata.txt
38+
39+ golangci-lint-validate-code-is-clean :
40+ name : Golangci lint validate code is clean
41+ runs-on : ubuntu-latest
42+
43+ steps :
44+ - name : Checkout
45+ uses : actions/checkout@v4
46+ with :
47+ submodules : true
48+ fetch-depth : 0 # get full history for branch checking
49+
50+ - name : Setup Go environment
51+ uses : actions/setup-go@v5
52+ with :
53+ go-version : ' 1.23.4'
54+
55+ - name : Run golint
56+ run : docker compose -f docker/github_actions/docker-compose.yml run coverage-report bash -c "./scripts/golint.sh"
57+
58+ golang-integration-test-sticky-off :
59+ name : Golang integration test sticky off
60+ runs-on : ubuntu-latest
61+
62+ steps :
63+ - name : Checkout
64+ uses : actions/checkout@v4
65+ with :
66+ submodules : true
67+ fetch-depth : 0 # get full history for branch checking
68+
69+ - name : Setup Go environment
70+ uses : actions/setup-go@v5
71+ with :
72+ go-version : ' 1.23.4'
73+
74+ - name : Run integration test sticky off
75+ uses : nick-fields/retry@v3
76+ with :
77+ max_attempts : 2
78+ timeout_minutes : 30
79+ command : |
80+ docker compose -f docker/github_actions/docker-compose.yml run integ-test bash -c "make integ_test_sticky_off"
81+
82+ - name : Upload coverage artifacts
83+ uses : actions/upload-artifact@v4
84+ with :
85+ name : go-integration-sticky-off-coverage
86+ path : .build/coverage/*.out
87+
88+ golang-integration-test-sticky-on :
89+ name : Golang integration test sticky on
90+ runs-on : ubuntu-latest
91+
92+ steps :
93+ - name : Checkout
94+ uses : actions/checkout@v4
95+ with :
96+ submodules : true
97+ fetch-depth : 0 # get full history for branch checking
98+
99+ - name : Setup Go environment
100+ uses : actions/setup-go@v5
101+ with :
102+ go-version : ' 1.23.4'
103+
104+ - name : Run integration test sticky on
105+ uses : nick-fields/retry@v3
106+ with :
107+ max_attempts : 2
108+ timeout_minutes : 30
109+ command : |
110+ docker compose -f docker/github_actions/docker-compose.yml run integ-test bash -c "make integ_test_sticky_on"
111+
112+ - name : Upload coverage artifacts
113+ uses : actions/upload-artifact@v4
114+ with :
115+ name : go-integration-sticky-on-coverage
116+ path : .build/coverage/*.out
117+
118+ golang-integration-test-grpc :
119+ name : Golang integration test gRPC adapter
120+ runs-on : ubuntu-latest
121+
122+ steps :
123+ - name : Checkout
124+ uses : actions/checkout@v4
125+ with :
126+ submodules : true
127+ fetch-depth : 0 # get full history for branch checking
128+
129+ - name : Setup Go environment
130+ uses : actions/setup-go@v5
131+ with :
132+ go-version : ' 1.23.4'
133+
134+ - name : Run integration test gRPC
135+ uses : nick-fields/retry@v3
136+ with :
137+ max_attempts : 2
138+ timeout_minutes : 30
139+ command : |
140+ docker compose -f docker/github_actions/docker-compose.yml run integ-test-grpc bash -c "make integ_test_grpc"
141+
142+ - name : Upload coverage artifacts
143+ uses : actions/upload-artifact@v4
144+ with :
145+ name : go-integration-grpc-coverage
146+ path : .build/coverage/*.out
0 commit comments