Skip to content

Commit e938770

Browse files
fix golangci-lint (#970)
Fix golangci-lint for virtualization-artifact Skip lint for dirs: ./images/cdi-cloner/cloner-startup ./images/dvcr-artifact ./tests/performance/shatal --------- Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
1 parent e64de2a commit e938770

115 files changed

Lines changed: 352 additions & 463 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/dev_module_build.yml

Lines changed: 19 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -196,78 +196,55 @@ jobs:
196196
echo "golangci-lint v${{ env.GOLANGCI_LINT_VERSION}} installed successfully!"
197197
198198
- name: Lint all directories with golangci-lint
199-
id: linters
200-
# continue-on-error: true
201199
shell: bash
202200
run: |
201+
# set -eo pipefail
202+
set -e
203+
203204
# Find directories containing .golangci.yaml
204-
mapfile -t config_dirs < <(find . -type f -name '.golangci.yaml' -printf '%h\0' | xargs -0 -n1 | sort -u)
205+
mapfile -t config_dirs < <(
206+
find . \
207+
-path ./images/cdi-cloner/cloner-startup -prune -o \
208+
-path ./images/dvcr-artifact -prune -o \
209+
-path ./tests/performance/shatal -prune -o \
210+
-type f -name '.golangci.yaml' -printf '%h\0' | \
211+
xargs -0 -n1 | sort -u
212+
)
205213
count=${#config_dirs[@]}
206214
echo "::notice title=Lint Setup::🔍 Found $count directories with linter configurations"
207215
208216
report=""
209217
error_count=0
210-
find_errors=0
211218
212219
for dir in "${config_dirs[@]}"; do
213-
# echo "::group::📂 Linting directory: $dir"
214-
# cd "$dir" || { echo "::error::Failed to access directory $dir"; exit 1; }
215-
220+
find_errors=0
216221
cd "$dir" || { echo "::error::Failed to access directory $dir"; continue; }
217222
218-
# Run linter with multiple formats
219-
220-
output=$(golangci-lint run --out-format=json 2>/dev/null | jq '{warning: .Report.Warnings, error: .Report.Error}' || true)
221-
find_errors=$(echo $output | jq '.error | select(.!=null)' | wc -l)
222-
223-
# Track errors
224-
if [ $find_errors -ne 0 ]; then
223+
if ! output=$(golangci-lint run --sort-results); then
225224
error_count=$(( error_count + 1 ))
225+
# find_errors=$(( find_errors + 1 ))
226226
echo "::group::📂 Linting directory ❌: $dir"
227+
echo -e "❌ Errors:\n$output\n"
228+
echo "== debug =="
229+
golangci-lint run --sort-results || true
227230
else
228231
echo "::group::📂 Linting directory ✅: $dir"
232+
echo -e "✅ All check passed\n"
229233
fi
230234
231-
report_out_warning=$(echo $output | jq '.warning')
232-
report_out_error=$(echo $output | jq '.error')
233-
234-
# Build report section
235-
report+="\n\n### Directory: $dir\n"
236-
report+="Find Errors: $find_errors\n"
237-
report+="Output:\n\`\`\`\n$report_out_warning\n$report_out_error\n\`\`\`\n"
238-
report+="---\n"
239-
240235
cd - &>/dev/null
241236
242-
if [ $find_errors -ne 0 ]; then
243-
echo -e "⚠️ Warnings:\n$report_out_warning"
244-
echo -e "❌ Errors:\n$report_out_error\n"
245-
else
246-
echo -e "✅ All check passed\n"
247-
fi
248-
249237
echo "::endgroup::"
250238
done
251239
252-
echo "directory_count=$count" >> "$GITHUB_OUTPUT"
253-
254240
has_errors=$( [[ "$error_count" -gt 0 ]] && echo true || echo false)
255241
echo "has_errors=$has_errors" >> "$GITHUB_OUTPUT"
256242
257243
if [ $error_count -gt 0 ]; then
244+
echo "$error_count error more than 0, exit 1"
258245
exit 1
259246
fi
260247
261-
- name: Final status check
262-
if: always()
263-
run: |
264-
if ${{ steps.linters.outputs.has_errors }}; then
265-
echo "::error::🔥 Lint errors found in $error_count directories. Check step 'Lint all directories with golangci-lint' for details."
266-
exit 1
267-
else
268-
echo "::notice::✅ All linters passed successfully in ${{ steps.linters.outputs.directory_count }} directories"
269-
fi
270-
271248
lint_yaml:
272249
runs-on: ubuntu-latest
273250
name: Run yaml linter

images/virtualization-artifact/cmd/virtualization-api/app/options/options.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type Options struct {
4747
Features *genericoptions.FeatureOptions
4848
Logging *logs.Options
4949

50-
Kubevirt vmrest.KubevirtApiServerConfig
50+
Kubevirt vmrest.KubevirtAPIServerConfig
5151

5252
ProxyClientCertFile string
5353
ProxyClientKeyFile string

images/virtualization-artifact/cmd/virtualization-controller/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import (
3838
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
3939

4040
"github.com/deckhouse/deckhouse/pkg/log"
41-
4241
appconfig "github.com/deckhouse/virtualization-controller/pkg/config"
4342
"github.com/deckhouse/virtualization-controller/pkg/controller/cvi"
4443
"github.com/deckhouse/virtualization-controller/pkg/controller/evacuation"

images/virtualization-artifact/pkg/apiserver/api/install.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func Build(store *storage.VirtualMachineStorage) genericapiserver.APIGroupInfo {
7575
func Install(
7676
vmLister virtlisters.VirtualMachineLister,
7777
server *genericapiserver.GenericAPIServer,
78-
kubevirt vmrest.KubevirtApiServerConfig,
78+
kubevirt vmrest.KubevirtAPIServerConfig,
7979
proxyCertManager certmanager.CertificateManager,
8080
crd *apiextensionsv1.CustomResourceDefinition,
8181
vmClient versionedv1alpha2.VirtualMachinesGetter,

images/virtualization-artifact/pkg/apiserver/registry/vm/rest/add_volume.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ import (
3737
type AddVolumeREST struct {
3838
vmLister virtlisters.VirtualMachineLister
3939
proxyCertManager certmanager.CertificateManager
40-
kubevirt KubevirtApiServerConfig
40+
kubevirt KubevirtAPIServerConfig
4141
}
4242

4343
var (
4444
_ rest.Storage = &AddVolumeREST{}
4545
_ rest.Connecter = &AddVolumeREST{}
4646
)
4747

48-
func NewAddVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *AddVolumeREST {
48+
func NewAddVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *AddVolumeREST {
4949
return &AddVolumeREST{
5050
vmLister: vmLister,
5151
kubevirt: kubevirt,
@@ -194,11 +194,11 @@ func AddVolumeLocation(
194194
getter virtlisters.VirtualMachineLister,
195195
name string,
196196
opts *subresources.VirtualMachineAddVolume,
197-
kubevirt KubevirtApiServerConfig,
197+
kubevirt KubevirtAPIServerConfig,
198198
proxyCertManager certmanager.CertificateManager,
199199
addVolumePather pather,
200200
) (*url.URL, *http.Transport, error) {
201-
return streamLocation(ctx, getter, name, opts, addVolumePather, kubevirt, proxyCertManager)
201+
return streamLocation(ctx, getter, name, addVolumePather, kubevirt, proxyCertManager)
202202
}
203203

204204
type VirtualMachineVolumeRequest struct {

images/virtualization-artifact/pkg/apiserver/registry/vm/rest/cancel-evacuation.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ import (
3535
type CancelEvacuationREST struct {
3636
vmLister virtlisters.VirtualMachineLister
3737
proxyCertManager certmanager.CertificateManager
38-
kubevirt KubevirtApiServerConfig
38+
kubevirt KubevirtAPIServerConfig
3939
}
4040

4141
var (
4242
_ rest.Storage = &CancelEvacuationREST{}
4343
_ rest.Connecter = &CancelEvacuationREST{}
4444
)
4545

46-
func NewCancelEvacuationREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *CancelEvacuationREST {
46+
func NewCancelEvacuationREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *CancelEvacuationREST {
4747
return &CancelEvacuationREST{
4848
vmLister: vmLister,
4949
kubevirt: kubevirt,
@@ -109,9 +109,9 @@ func CancelEvacuationRESTRESTLocation(
109109
getter virtlisters.VirtualMachineLister,
110110
name string,
111111
opts *subresources.VirtualMachineCancelEvacuation,
112-
kubevirt KubevirtApiServerConfig,
112+
kubevirt KubevirtAPIServerConfig,
113113
proxyCertManager certmanager.CertificateManager,
114114
cancelEvacuationPather pather,
115115
) (*url.URL, *http.Transport, error) {
116-
return streamLocation(ctx, getter, name, opts, cancelEvacuationPather, kubevirt, proxyCertManager)
116+
return streamLocation(ctx, getter, name, cancelEvacuationPather, kubevirt, proxyCertManager)
117117
}

images/virtualization-artifact/pkg/apiserver/registry/vm/rest/console.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ import (
3434
type ConsoleREST struct {
3535
vmLister virtlisters.VirtualMachineLister
3636
proxyCertManager certmanager.CertificateManager
37-
kubevirt KubevirtApiServerConfig
37+
kubevirt KubevirtAPIServerConfig
3838
}
3939

40-
type KubevirtApiServerConfig struct {
40+
type KubevirtAPIServerConfig struct {
4141
Endpoint string
4242
CaBundlePath string
4343
ServiceAccount types.NamespacedName
@@ -48,7 +48,7 @@ var (
4848
_ rest.Connecter = &ConsoleREST{}
4949
)
5050

51-
func NewConsoleREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *ConsoleREST {
51+
func NewConsoleREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *ConsoleREST {
5252
return &ConsoleREST{
5353
vmLister: vmLister,
5454
kubevirt: kubevirt,
@@ -93,14 +93,13 @@ func ConsoleLocation(
9393
getter virtlisters.VirtualMachineLister,
9494
name string,
9595
opts *subresources.VirtualMachineConsole,
96-
kubevirt KubevirtApiServerConfig,
96+
kubevirt KubevirtAPIServerConfig,
9797
proxyCertManager certmanager.CertificateManager,
9898
) (*url.URL, *http.Transport, error) {
9999
return streamLocation(
100100
ctx,
101101
getter,
102102
name,
103-
opts,
104103
newKVVMIPather("console"),
105104
kubevirt,
106105
proxyCertManager,

images/virtualization-artifact/pkg/apiserver/registry/vm/rest/freeze.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ import (
3333
type FreezeREST struct {
3434
vmLister virtlisters.VirtualMachineLister
3535
proxyCertManager certmanager.CertificateManager
36-
kubevirt KubevirtApiServerConfig
36+
kubevirt KubevirtAPIServerConfig
3737
}
3838

3939
var (
4040
_ rest.Storage = &FreezeREST{}
4141
_ rest.Connecter = &FreezeREST{}
4242
)
4343

44-
func NewFreezeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *FreezeREST {
44+
func NewFreezeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *FreezeREST {
4545
return &FreezeREST{
4646
vmLister: vmLister,
4747
kubevirt: kubevirt,
@@ -84,14 +84,13 @@ func FreezeLocation(
8484
getter virtlisters.VirtualMachineLister,
8585
name string,
8686
opts *subresources.VirtualMachineFreeze,
87-
kubevirt KubevirtApiServerConfig,
87+
kubevirt KubevirtAPIServerConfig,
8888
proxyCertManager certmanager.CertificateManager,
8989
) (*url.URL, *http.Transport, error) {
9090
return streamLocation(
9191
ctx,
9292
getter,
9393
name,
94-
opts,
9594
newKVVMIPather("freeze"),
9695
kubevirt,
9796
proxyCertManager,

images/virtualization-artifact/pkg/apiserver/registry/vm/rest/portforward.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ import (
3535
type PortForwardREST struct {
3636
vmLister virtlisters.VirtualMachineLister
3737
proxyCertManager certmanager.CertificateManager
38-
kubevirt KubevirtApiServerConfig
38+
kubevirt KubevirtAPIServerConfig
3939
}
4040

4141
var (
4242
_ rest.Storage = &PortForwardREST{}
4343
_ rest.Connecter = &PortForwardREST{}
4444
)
4545

46-
func NewPortForwardREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *PortForwardREST {
46+
func NewPortForwardREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *PortForwardREST {
4747
return &PortForwardREST{
4848
vmLister: vmLister,
4949
kubevirt: kubevirt,
@@ -88,15 +88,14 @@ func PortForwardLocation(
8888
getter virtlisters.VirtualMachineLister,
8989
name string,
9090
opts *subresources.VirtualMachinePortForward,
91-
kubevirt KubevirtApiServerConfig,
91+
kubevirt KubevirtAPIServerConfig,
9292
proxyCertManager certmanager.CertificateManager,
9393
) (*url.URL, *http.Transport, error) {
9494
streamPath := buildPortForwardResourcePath(opts)
9595
return streamLocation(
9696
ctx,
9797
getter,
9898
name,
99-
opts,
10099
newKVVMIPather(streamPath),
101100
kubevirt,
102101
proxyCertManager,

images/virtualization-artifact/pkg/apiserver/registry/vm/rest/remove_volume.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ import (
3535
type RemoveVolumeREST struct {
3636
vmLister virtlisters.VirtualMachineLister
3737
proxyCertManager certmanager.CertificateManager
38-
kubevirt KubevirtApiServerConfig
38+
kubevirt KubevirtAPIServerConfig
3939
}
4040

4141
var (
4242
_ rest.Storage = &RemoveVolumeREST{}
4343
_ rest.Connecter = &RemoveVolumeREST{}
4444
)
4545

46-
func NewRemoveVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtApiServerConfig, proxyCertManager certmanager.CertificateManager) *RemoveVolumeREST {
46+
func NewRemoveVolumeREST(vmLister virtlisters.VirtualMachineLister, kubevirt KubevirtAPIServerConfig, proxyCertManager certmanager.CertificateManager) *RemoveVolumeREST {
4747
return &RemoveVolumeREST{
4848
vmLister: vmLister,
4949
kubevirt: kubevirt,
@@ -121,9 +121,9 @@ func RemoveVolumeRESTLocation(
121121
getter virtlisters.VirtualMachineLister,
122122
name string,
123123
opts *subresources.VirtualMachineRemoveVolume,
124-
kubevirt KubevirtApiServerConfig,
124+
kubevirt KubevirtAPIServerConfig,
125125
proxyCertManager certmanager.CertificateManager,
126126
removeVolumePather pather,
127127
) (*url.URL, *http.Transport, error) {
128-
return streamLocation(ctx, getter, name, opts, removeVolumePather, kubevirt, proxyCertManager)
128+
return streamLocation(ctx, getter, name, removeVolumePather, kubevirt, proxyCertManager)
129129
}

0 commit comments

Comments
 (0)