Skip to content

Commit 0078dc3

Browse files
committed
Merge upstream/master into reportTheFieldThatViolated branch
2 parents c3032b7 + 093aef0 commit 0078dc3

Some content is hidden

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

42 files changed

+4036
-800
lines changed

.github/workflows/ci.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,23 @@ on:
88
pull_request:
99
branches:
1010
- 'master'
11+
- 'release-*'
1112
jobs:
1213
test:
1314
runs-on: ubuntu-latest
1415
steps:
1516
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16-
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
17+
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
1718
with:
1819
go-version-file: go.mod
1920
- run: go mod tidy
2021
- run: make test
2122
- name: Run golangci-lint
22-
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
23+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
2324
with:
24-
version: v1.63.4
25+
version: v2.1.6
2526
args: --verbose
26-
- uses: codecov/codecov-action@a2f73fb6db51fcd2e0aa085dfb36dea90c5e3689 # v5.0.2
27+
- uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2
2728
with:
2829
token: ${{ secrets.CODECOV_TOKEN }} #required
2930
files: ./coverage.out

.golangci.yaml

Lines changed: 115 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1,124 +1,129 @@
1-
issues:
2-
exclude-dirs:
3-
- internal/kubernetes_vendor
4-
exclude-files:
5-
- "pkg/diff/internal/fieldmanager/borrowed_.*\\.go$"
6-
max-issues-per-linter: 0
7-
max-same-issues: 0
1+
version: "2"
82
linters:
93
enable:
10-
- errcheck
114
- errorlint
125
- gocritic
13-
- gofumpt
14-
- goimports
156
- gomodguard
16-
- gosimple
17-
- govet
187
- importas
19-
- ineffassign
208
- misspell
21-
# Disabled because of https://github.com/argoproj/argo-cd/issues/21705
22-
# - nolintlint
239
- perfsprint
2410
- revive
25-
- staticcheck
2611
- testifylint
2712
- thelper
2813
- unparam
29-
- unused
3014
- usestdlibvars
3115
- whitespace
32-
linters-settings:
33-
gocritic:
34-
disabled-checks:
35-
- appendAssign
36-
- assignOp # Keep it disabled for readability
37-
- exitAfterDefer
38-
- typeSwitchVar
39-
goimports:
40-
local-prefixes: github.com/argoproj/gitops-engine
41-
importas:
42-
alias:
43-
- alias: appsv1
44-
pkg: k8s.io/api/apps/v1
45-
- alias: corev1
46-
pkg: k8s.io/api/core/v1
47-
- alias: apierrors
48-
pkg: k8s.io/apimachinery/pkg/api/errors
49-
- alias: apiextensionsv1
50-
pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
51-
- alias: metav1
52-
pkg: k8s.io/apimachinery/pkg/apis/meta/v1
53-
- alias: testingutils
54-
pkg: github.com/argoproj/gitops-engine/pkg/utils/testing
55-
perfsprint:
56-
# Optimizes even if it requires an int or uint type cast.
57-
int-conversion: true
58-
# Optimizes into `err.Error()` even if it is only equivalent for non-nil errors.
59-
err-error: true
60-
# Optimizes `fmt.Errorf`.
61-
errorf: true
62-
# Optimizes `fmt.Sprintf` with only one argument.
63-
sprintf1: true
64-
# Optimizes into strings concatenation.
65-
strconcat: true
66-
revive:
67-
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
68-
rules:
69-
- name: bool-literal-in-expr
70-
- name: blank-imports
71-
disabled: true
72-
- name: context-as-argument
73-
arguments:
74-
- allowTypesBefore: '*testing.T,testing.TB'
75-
- name: context-keys-type
76-
disabled: true
77-
- name: dot-imports
78-
- name: duplicated-imports
79-
- name: early-return
80-
arguments:
81-
- 'preserveScope'
82-
- name: empty-block
83-
disabled: true
84-
- name: error-naming
85-
disabled: true
86-
- name: error-return
87-
- name: error-strings
88-
disabled: true
89-
- name: errorf
90-
- name: identical-branches
91-
- name: if-return
92-
- name: increment-decrement
93-
- name: indent-error-flow
94-
arguments:
95-
- 'preserveScope'
96-
- name: modifies-parameter
97-
- name: optimize-operands-order
98-
- name: range
99-
- name: receiver-naming
100-
- name: redefines-builtin-id
101-
disabled: true
102-
- name: redundant-import-alias
103-
- name: superfluous-else
104-
arguments:
105-
- 'preserveScope'
106-
- name: time-equal
107-
- name: time-naming
108-
disabled: true
109-
- name: unexported-return
110-
disabled: true
111-
- name: unnecessary-stmt
112-
- name: unreachable-code
113-
- name: unused-parameter
114-
- name: use-any
115-
- name: useless-break
116-
- name: var-declaration
117-
- name: var-naming
118-
disabled: true
119-
testifylint:
120-
enable-all: true
121-
disable:
122-
- go-require
123-
run:
124-
timeout: 5m
16+
- wrapcheck
17+
settings:
18+
gocritic:
19+
disabled-checks:
20+
- appendAssign
21+
- assignOp
22+
- exitAfterDefer
23+
- typeSwitchVar
24+
importas:
25+
alias:
26+
- pkg: k8s.io/api/apps/v1
27+
alias: appsv1
28+
- pkg: k8s.io/api/core/v1
29+
alias: corev1
30+
- pkg: k8s.io/apimachinery/pkg/api/errors
31+
alias: apierrors
32+
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
33+
alias: apiextensionsv1
34+
- pkg: k8s.io/apimachinery/pkg/apis/meta/v1
35+
alias: metav1
36+
- pkg: github.com/argoproj/gitops-engine/pkg/utils/testing
37+
alias: testingutils
38+
perfsprint:
39+
int-conversion: true
40+
err-error: true
41+
errorf: true
42+
sprintf1: true
43+
strconcat: true
44+
revive:
45+
rules:
46+
- name: bool-literal-in-expr
47+
- name: blank-imports
48+
disabled: true
49+
- name: context-as-argument
50+
arguments:
51+
- allowTypesBefore: '*testing.T,testing.TB'
52+
- name: context-keys-type
53+
disabled: true
54+
- name: dot-imports
55+
- name: duplicated-imports
56+
- name: early-return
57+
arguments:
58+
- preserveScope
59+
- name: empty-block
60+
disabled: true
61+
- name: error-naming
62+
disabled: true
63+
- name: error-return
64+
- name: error-strings
65+
disabled: true
66+
- name: errorf
67+
- name: identical-branches
68+
- name: if-return
69+
- name: increment-decrement
70+
- name: indent-error-flow
71+
arguments:
72+
- preserveScope
73+
- name: modifies-parameter
74+
- name: optimize-operands-order
75+
- name: range
76+
- name: receiver-naming
77+
- name: redefines-builtin-id
78+
disabled: true
79+
- name: redundant-import-alias
80+
- name: superfluous-else
81+
arguments:
82+
- preserveScope
83+
- name: time-equal
84+
- name: time-naming
85+
disabled: true
86+
- name: unexported-return
87+
disabled: true
88+
- name: unnecessary-stmt
89+
- name: unreachable-code
90+
- name: unused-parameter
91+
- name: use-any
92+
- name: useless-break
93+
- name: var-declaration
94+
- name: var-naming
95+
disabled: true
96+
testifylint:
97+
enable-all: true
98+
disable:
99+
- go-require
100+
exclusions:
101+
presets:
102+
- comments
103+
- common-false-positives
104+
- legacy
105+
- std-error-handling
106+
paths:
107+
- pkg/diff/internal/fieldmanager/borrowed_.*\.go$
108+
- internal/kubernetes_vendor
109+
- third_party$
110+
- builtin$
111+
- examples$
112+
issues:
113+
max-issues-per-linter: 0
114+
max-same-issues: 0
115+
formatters:
116+
enable:
117+
- gofumpt
118+
- goimports
119+
settings:
120+
goimports:
121+
local-prefixes:
122+
- github.com/argoproj/gitops-engine
123+
exclusions:
124+
paths:
125+
- pkg/diff/internal/fieldmanager/borrowed_.*\.go$
126+
- internal/kubernetes_vendor
127+
- third_party$
128+
- builtin$
129+
- examples$

agent/main.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ type settings struct {
5454

5555
func (s *settings) getGCMark(key kube.ResourceKey) string {
5656
h := sha256.New()
57-
_, _ = h.Write([]byte(fmt.Sprintf("%s/%s", s.repoPath, strings.Join(s.paths, ","))))
57+
_, _ = fmt.Fprintf(h, "%s/%s", s.repoPath, strings.Join(s.paths, ","))
5858
_, _ = h.Write([]byte(strings.Join([]string{key.Group, key.Kind, key.Name}, "/")))
5959
return "sha256." + base64.RawURLEncoding.EncodeToString(h.Sum(nil))
6060
}
@@ -64,7 +64,7 @@ func (s *settings) parseManifests() ([]*unstructured.Unstructured, string, error
6464
cmd.Dir = s.repoPath
6565
revision, err := cmd.CombinedOutput()
6666
if err != nil {
67-
return nil, "", err
67+
return nil, "", fmt.Errorf("failed to determine git revision: %w", err)
6868
}
6969
var res []*unstructured.Unstructured
7070
for i := range s.paths {
@@ -80,7 +80,7 @@ func (s *settings) parseManifests() ([]*unstructured.Unstructured, string, error
8080
}
8181
data, err := os.ReadFile(path)
8282
if err != nil {
83-
return err
83+
return fmt.Errorf("failed to read file %s: %w", path, err)
8484
}
8585
items, err := kube.SplitYAML(data)
8686
if err != nil {
@@ -89,7 +89,7 @@ func (s *settings) parseManifests() ([]*unstructured.Unstructured, string, error
8989
res = append(res, items...)
9090
return nil
9191
}); err != nil {
92-
return nil, "", err
92+
return nil, "", fmt.Errorf("failed to parse %s: %w", s.paths[i], err)
9393
}
9494
}
9595
for i := range res {

0 commit comments

Comments
 (0)