-
Notifications
You must be signed in to change notification settings - Fork 16
135 lines (113 loc) · 3.13 KB
/
code-lint.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
name: Go
on:
push:
branches:
- main
- release-*
pull_request:
branches:
- main
- release-*
workflow_dispatch: { }
permissions:
contents: read
env:
# Common versions
GO_VERSION: '1.20'
GOLANGCI_VERSION: 'v1.52.2'
jobs:
staticcheck:
strategy:
matrix:
machines: [ "ubuntu-22.04","macos-12" ]
runs-on: ${{ matrix.machines }}
steps:
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Setup Docker
uses: docker-practice/actions-setup-docker@master
- name: Download resources
run: |
make download_vela_images_addons
make download_k3s_images
make download_k3s_bin_script
make download_k3d
- name: Test Local Go Cache
run: |
ls /home/runner/go/pkg/mod/github.com/oam-dev
- name: Go Dependencies
run: |
go mod tidy
go get -t -v -d ./...
- name: Test Local Go Cache
run: |
ls /home/runner/go/pkg/mod/github.com/oam-dev
- uses: dominikh/staticcheck-action@v1.3.0
with:
version: "2023.1.3"
install-go: false
lint:
strategy:
matrix:
machines: [ "ubuntu-22.04","macos-12" ]
runs-on: ${{ matrix.machines }}
steps:
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Setup Docker
uses: docker-practice/actions-setup-docker@master
- name: Download resources
run: |
make download_vela_images_addons
make download_k3s_images
make download_k3s_bin_script
make download_k3d
# This action uses its own setup-go, which always seems to use the latest
# stable version of Go. We could run 'make lint' to ensure our desired Go
# version, but we prefer this action because it leaves 'annotations' (i.e.
# it comments on PRs to point out linter violations).
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: ${{ env.GOLANGCI_VERSION }}
args: --timeout 20m
go-check:
strategy:
matrix:
machines: [ "ubuntu-22.04","macos-12" ]
runs-on: ${{ matrix.machines }}
steps:
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Go Dependencies
run: |
go mod tidy
go get -t -v -d ./...
- name: Setup Docker
uses: docker-practice/actions-setup-docker@master
- name: Download resources
run: |
make download_vela_images_addons
make download_k3s_images
make download_k3s_bin_script
make download_k3d
- name: Check Diff
run: make check-diff