forked from percona/percona-postgresql-operator
-
Notifications
You must be signed in to change notification settings - Fork 0
145 lines (137 loc) · 4.62 KB
/
reviewdog.yml
File metadata and controls
145 lines (137 loc) · 4.62 KB
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
name: reviewdog
on: [pull_request]
jobs:
golangci-lint:
name: runner / suggester / golangci-lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v6
with:
go-version: '^1.26.0'
- uses: actions/checkout@v6
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: latest
only-new-issues: true
args: --timeout 5m
goimports-reviser:
name: runner / suggester / goimports-reviser
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: '^1.26.0'
- run: go install -v github.com/incu6us/goimports-reviser/v3@latest
- run: $(go env GOPATH)/bin/goimports-reviser -imports-order "std,general,company,project" -company-prefixes "github.com/percona" ./...
- uses: reviewdog/action-suggester@v1
with:
tool_name: goimports-reviser
gofmt:
name: runner / suggester / gofmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: gofmt -w -s $(find . -not -path "*/vendor/*" -name "*.go")
- uses: reviewdog/action-suggester@v1
with:
tool_name: gofmt
shfmt:
name: runner / suggester / shfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: '^1.26.0'
- run: go install mvdan.cc/sh/v3/cmd/shfmt@latest
- run: $(go env GOPATH)/bin/shfmt -bn -ci -s -w .
- name: suggester / shfmt
uses: reviewdog/action-suggester@v1
with:
tool_name: shfmt
shellcheck:
if: github.event_name == 'pull_request'
name: runner / shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
misspell:
name: runner / misspell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: reviewdog/action-misspell@v1
with:
github_token: ${{ secrets.github_token }}
locale: "US"
reporter: github-pr-check
alex:
name: runner / alex
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: reviewdog/action-alex@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-check
level: info
manifests:
name: runner / manifests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: check on release branch
if: ${{ contains(github.base_ref, 'release-') }}
run: |
make generate VERSION="$(cat percona/version/version.txt)" IMAGE_TAG_BASE="percona/percona-postgresql-operator"
git diff --exit-code
- name: check on non release branches
if: ${{ ! contains(github.base_ref, 'release-') }}
run: |
make generate VERSION=main
git diff --exit-code
e2e-release-versions-images:
name: e2e-tests release_versions image availability
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check if e2e-tests/release_versions changed
id: changed
run: |
git fetch origin ${{ github.base_ref }}
if git diff --name-only origin/${{ github.base_ref }}...HEAD -- e2e-tests/release_versions | grep -q .; then
echo "changed=true" >> "$GITHUB_OUTPUT"
else
echo "changed=false" >> "$GITHUB_OUTPUT"
fi
- name: Verify release_versions images exist (docker manifest inspect)
if: steps.changed.outputs.changed == 'true'
run: |
set -e
# All IMAGE_*=value lines, exclude operator image (percona/percona-postgresql-operator)
images=$(grep -E '^IMAGE_[^=]+=' e2e-tests/release_versions | cut -d= -f2 | grep -v '^$' | grep -v 'percona/percona-postgresql-operator' | sort -u)
if [ -z "$images" ]; then
echo "No non-operator images found in e2e-tests/release_versions"
exit 0
fi
failed=""
for img in $images; do
echo "Checking image $img"
if ! docker manifest inspect "$img"; then
echo "::error::Image not found or inaccessible: $img"
failed="${failed} ${img}"
fi
done
if [ -n "$failed" ]; then
echo "::error::The following images failed docker manifest inspect:$failed"
exit 1
fi
echo "All images are available."