-
Notifications
You must be signed in to change notification settings - Fork 168
173 lines (140 loc) · 4.28 KB
/
main.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
name: CI
on:
push:
branches:
- main
tags:
pull_request:
jobs:
verify-and-lint:
runs-on: ubuntu-latest
name: Verify codegen/vendor/licenses, do lint
env:
GOPATH: ${{ github.workspace }}
# since client-go codegen requires that code checkout GOPATH
CODE_DIR: '${{github.workspace}}/src/github.com/kubeedge/sedna'
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
path: ${{ env.CODE_DIR }}
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Install dependences
run: |
sudo apt-get install -y jq pycodestyle
- name: Run verify test
run: make verify
working-directory: ${{ env.CODE_DIR }}
- name: Run go lint test
run: make lint
working-directory: ${{ env.CODE_DIR }}
- name: Run python code style test
run: pycodestyle lib
working-directory: ${{ env.CODE_DIR }}
build:
runs-on: ubuntu-latest
name: build gm and lc
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- run: make build # without verify
basic_test:
runs-on: ubuntu-latest
name: 'Unit test, integration test edge (noop now)'
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Install dependences
run: ': to be added'
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- run: ': to be added'
e2e_test:
runs-on: ubuntu-latest
name: 'E2e test'
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Install dependences
run: |
# since this ubuntu-latest os has already kind/kubectl/jq(see https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2004-Readme.md),
# but kind v0.19.0 has different api with v0.18.0, so here to reinstall kind v0.18.0
sudo apt-get install -y jq
go get sigs.k8s.io/kind@$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/97518847 | jq -r .tag_name)
kind version
type kubectl || {
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
}
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- run: make e2e
docker_build:
runs-on: ubuntu-latest
name: docker image build for gm/lc
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- run: make images
docker_cross_build:
runs-on: ubuntu-latest
name: docker cross build images for gm/lc/kb
steps:
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: 1.16.x
- uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- run: make docker-cross-build