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