-
Notifications
You must be signed in to change notification settings - Fork 20
120 lines (103 loc) · 3.15 KB
/
lint.yml
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
name: lint
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_number || github.ref }}
cancel-in-progress: true
jobs:
lint:
timeout-minutes: 10
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
cache-dependency-path: "**/*.sum"
- name: binary-cache
uses: actions/cache@v4
with:
path: ./bin
key: ${{ runner.os }}-${{ hashFiles('./Makefile') }}
- name: format go
run: |
make fmt-go
if ! git diff --exit-code; then
echo "Files are not well formatted. Please run 'make fmt-go' and commit changes."
exit 1
fi
- name: format proto
run: |
make fmt-proto
if ! git diff --exit-code; then
echo "Files are not well formatted. Please run 'make fmt-proto' and commit changes."
exit 1
fi
- name: check generated files
run: |
make gen-proto
if ! git diff --exit-code; then
echo "Generated files are not up-to-date. Please run 'make gen-proto' and commit changes."
exit 1
fi
make gen-crd-code
if ! git diff --exit-code; then
echo "Generated files are not up-to-date. Please run 'make gen-crd-code' and commit changes."
exit 1
fi
pushd controller/
make manifests generate
if ! git diff --exit-code; then
echo "Generated files are not up-to-date. Please run 'make manifests generate' under controller/ and commit changes."
exit 1
fi
popd
make gen-helm
if ! git diff --exit-code; then
echo "Generated files are not up-to-date. Please run 'make gen-helm' and commit changes."
exit 1
fi
- name: lint go
run: make lint-go
- name: lint proto
run: make lint-proto
- name: lint spell
run: |
if ! make lint-spell; then
echo "Typo detected. Please run 'make fix-spell', edit the detected files and commit changes."
exit 1
fi
- name: lint license
run: |
if ! make lint-license; then
echo "Files without license detected. Please run 'make fix-license', edit the detected files and commit changes."
exit 1
fi
- name: lint editorconfig
run: |
# See https://editorconfig.org/ to know how to support editorconfig in your editor
make lint-editorconfig
- name: lint shell
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: "."
pattern: "*.sh"
fail_on_error: true
- name: lint dockerfile
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: Dockerfile
recursive: true
- name: lint dev dockerfile
uses: hadolint/hadolint-action@v3.1.0
with:
dockerfile: ./tools/Dockerfile.dev
- name: lint remain
run: |
make lint-remain