-
Notifications
You must be signed in to change notification settings - Fork 3.5k
131 lines (125 loc) · 2.98 KB
/
operator.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
name: operator build
on:
push:
paths:
- 'operator/**'
branches: [ main ]
pull_request:
paths:
- 'operator/**'
jobs:
docs:
name: docs
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.22']
steps:
- name: Install make
run: sudo apt-get install make
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
id: go
- uses: actions/checkout@v4
- name: Check generated docs
working-directory: ./operator
run: |
make docs/operator/api.md docs/operator/feature-gates.md
git diff --exit-code
lint:
name: lint
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.22']
steps:
- name: Install make
run: sudo apt-get install make
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
id: go
- uses: actions/checkout@v4
- name: Lint
uses: golangci/golangci-lint-action@v6
with:
version: v1.61.0
args: --timeout=5m
working-directory: ./operator
- name: Check prometheus rules
working-directory: ./operator
run: make lint-prometheus
build-manager:
name: Build Manager
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.22']
steps:
- name: Install make
run: sudo apt-get install make
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
id: go
- uses: actions/checkout@v4
- name: Build Manager
working-directory: ./operator
run: |-
make manager && git diff --exit-code
build-broker:
name: Build Broker
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.22']
steps:
- name: Install make
run: sudo apt-get install make
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
id: go
- uses: actions/checkout@v4
- name: Build Broker
working-directory: ./operator
run: |-
make bin/loki-broker && git diff --exit-code
test:
name: test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
go: ['1.22']
steps:
- name: Install make
run: sudo apt-get install make
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
id: go
- uses: actions/checkout@v4
- name: Run tests
working-directory: ./operator
run: go test -coverprofile=profile.cov ./...
- name: Run prometheus rule tests
working-directory: ./operator
run: make test-unit-prometheus
- name: Send coverage
uses: shogo82148/actions-goveralls@v1
with:
working-directory: ./operator
path-to-profile: profile.cov
flag-name: Go-${{ matrix.go }}
shallow: true