forked from milvus-io/milvus
-
Notifications
You must be signed in to change notification settings - Fork 0
147 lines (145 loc) · 4.34 KB
/
code-checker.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
name: Code Checker
# TODO: do not trigger action for some document file update
# This workflow is triggered on pushes or pull request to the repository.
on:
push:
branches:
- master
pull_request:
# file paths to consider in the event. Optional; defaults to all.
paths:
- 'scripts/**'
- 'internal/**'
- 'cmd/**'
- 'build/**'
- '.github/workflows/code-checker.yaml'
- '.env'
- docker-compose.yml
- Makefile
- '!**.md'
- '!build/ci/jenkins/**'
# FIXME(wxyu): not need to run code check, update the ci-passed rules and remove these two lines
- go.mod
- go.sum
jobs:
ubuntu:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- name: Code Checker AMD64 Ubuntu 20.04
os: ubuntu-20.04
env:
UBUNTU: 20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cache CCache Volumes
uses: actions/cache@v3
with:
path: .docker/amd64-ubuntu20.04-ccache
key: ubuntu20.04-ccache-${{ hashFiles('internal/core/**') }}
restore-keys: ubuntu20.04-ccache-
- name: Cache Third Party
uses: actions/cache@v3
with:
path: .docker/thirdparty
key: ubuntu20.04-thirdparty-${{ hashFiles('internal/core/thirdparty/**') }}
restore-keys: ubuntu20.04-thirdparty-
- name: Cache Go Mod Volumes
uses: actions/cache@v3
with:
path: .docker/amd64-ubuntu20.04-go-mod
key: ubuntu20.04-go-mod-${{ hashFiles('**/go.sum') }}
restore-keys: ubuntu20.04-go-mod-
- name: Code Check
env:
CHECK_BUILDER: "1"
run: |
./build/builder.sh /bin/bash -c "make check-proto-product && make verifiers"
centos:
name: Code Checker CentOS 7
# Run in centos docker
runs-on: ubuntu-20.04
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Cache CCache Volumes
uses: actions/cache@v3
with:
path: .docker/amd64-centos7-ccache
key: centos7-ccache-${{ hashFiles('internal/core/**') }}
restore-keys: centos7-ccache-
- name: Cache Third Party
uses: actions/cache@v3
with:
path: .docker/thirdparty
key: centos7-thirdparty-${{ hashFiles('internal/core/thirdparty/**') }}
restore-keys: centos7-thirdparty-
- name: Cache Go Mod Volumes
uses: actions/cache@v3
with:
path: .docker/amd64-centos7-go-mod
key: centos7-go-mod-${{ hashFiles('**/go.sum') }}
restore-keys: centos7-go-mod-
- name: Code Check
env:
CHECK_BUILDER: "1"
OS_NAME: "centos7"
run: |
./build/builder.sh /bin/bash -c "make install"
mingw64:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- name: Code Checker MinGW
os: windows-2019
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Checkout
uses: actions/checkout@v2
- name: Cache go
uses: actions/cache@v3
with:
path: |
%LocalAppData%\go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: ${{ runner.os }}-go-
- name: Cache ccache
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/.ccache
key: ${{ runner.os }}-ccache-${{ hashFiles('internal/core/**') }}
restore-keys: ${{ runner.os }}-ccache-
- name: Configure Toolchain
uses: msys2/setup-msys2@v2.12.0
with:
msystem: mingw64
- name: Install Deps
shell: msys2 {0}
run: |
sh scripts/install_deps_msys.sh
- name: Code Check
shell: msys2 {0}
env:
CCACHE_COMPILERCHECK: content
CCACHE_COMPRESS: 1
CCACHE_COMPRESSLEVEL: 5
CCACHE_MAXSIZE: 2G
CCACHE_DIR: ${{ github.workspace }}/.ccache
run: |
go version
mingw32-make verifiers build-go