Skip to content

Commit 8480d85

Browse files
committed
linter feature code
- errcheck - stylecheck - nestif - prealloc - errorlint - nonamedreturns - gosec - gosimple - govet - importas - staticcheck - unused Signed-off-by: Jordan Keister <[email protected]>
1 parent f1100b1 commit 8480d85

File tree

89 files changed

+533
-340
lines changed

Some content is hidden

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

89 files changed

+533
-340
lines changed

alpha/action/render.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,13 @@ func (r Render) Run(ctx context.Context) (*declcfg.DeclarativeConfig, error) {
7070
if err != nil {
7171
return nil, fmt.Errorf("create registry: %v", err)
7272
}
73-
defer reg.Destroy()
73+
defer func() {
74+
_ = reg.Destroy()
75+
}()
7476
r.Registry = reg
7577
}
7678

79+
// nolint:prealloc
7780
var cfgs []declcfg.DeclarativeConfig
7881
for _, ref := range r.Refs {
7982
cfg, err := r.renderReference(ctx, ref)
@@ -123,6 +126,7 @@ func (r Render) renderReference(ctx context.Context, ref string) (*declcfg.Decla
123126
if err != nil {
124127
return r.imageToDeclcfg(ctx, ref)
125128
}
129+
// nolint:nestif
126130
if stat.IsDir() {
127131
dirEntries, err := os.ReadDir(ref)
128132
if err != nil {
@@ -178,6 +182,7 @@ func (r Render) imageToDeclcfg(ctx context.Context, imageRef string) (*declcfg.D
178182
}
179183

180184
var cfg *declcfg.DeclarativeConfig
185+
// nolint:nestif
181186
if dbFile, ok := labels[containertools.DbLocationLabel]; ok {
182187
if !r.AllowedRefMask.Allowed(RefSqliteImage) {
183188
return nil, fmt.Errorf("cannot render sqlite image: %w", ErrNotAllowed)
@@ -279,6 +284,7 @@ func populateDBRelatedImages(ctx context.Context, cfg *declcfg.DeclarativeConfig
279284
}
280285
defer rows.Close()
281286

287+
// nolint:staticcheck
282288
images := map[string]sets.String{}
283289
for rows.Next() {
284290
var (
@@ -326,10 +332,10 @@ func bundleToDeclcfg(bundle *registry.Bundle) (*declcfg.Bundle, error) {
326332
return nil, fmt.Errorf("get related images for bundle %q: %v", bundle.Name, err)
327333
}
328334

329-
var csvJson []byte
335+
var csvJSON []byte
330336
for _, obj := range bundle.Objects {
331337
if obj.GetKind() == "ClusterServiceVersion" {
332-
csvJson, err = json.Marshal(obj)
338+
csvJSON, err = json.Marshal(obj)
333339
if err != nil {
334340
return nil, fmt.Errorf("marshal CSV JSON for bundle %q: %v", bundle.Name, err)
335341
}
@@ -344,7 +350,7 @@ func bundleToDeclcfg(bundle *registry.Bundle) (*declcfg.Bundle, error) {
344350
Properties: props,
345351
RelatedImages: relatedImages,
346352
Objects: objs,
347-
CsvJSON: string(csvJson),
353+
CsvJSON: string(csvJSON),
348354
}, nil
349355
}
350356

alpha/declcfg/declcfg_to_model.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ func ConvertToModel(cfg DeclarativeConfig) (model.Model, error) {
245245
}
246246

247247
func relatedImagesToModelRelatedImages(in []RelatedImage) []model.RelatedImage {
248+
// nolint:prealloc
248249
var out []model.RelatedImage
249250
for _, p := range in {
250251
out = append(out, model.RelatedImage{

alpha/declcfg/load.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ func sendPaths(ctx context.Context, root fs.FS, pathChan chan<- string) error {
174174
})
175175
}
176176

177-
func parseMetaPaths(ctx context.Context, root fs.FS, pathChan <-chan string, walkFn WalkMetasFSFunc, options LoadOptions) error {
177+
func parseMetaPaths(ctx context.Context, root fs.FS, pathChan <-chan string, walkFn WalkMetasFSFunc, _ LoadOptions) error {
178178
for {
179179
select {
180180
case <-ctx.Done(): // don't block on receiving from pathChan
@@ -205,11 +205,11 @@ func readBundleObjects(b *Bundle) error {
205205
if err := json.Unmarshal(props.Value, &obj); err != nil {
206206
return fmt.Errorf("package %q, bundle %q: parse property at index %d as bundle object: %v", b.Package, b.Name, i, err)
207207
}
208-
objJson, err := yaml.ToJSON(obj.Data)
208+
objJSON, err := yaml.ToJSON(obj.Data)
209209
if err != nil {
210210
return fmt.Errorf("package %q, bundle %q: convert bundle object property at index %d to JSON: %v", b.Package, b.Name, i, err)
211211
}
212-
b.Objects = append(b.Objects, string(objJson))
212+
b.Objects = append(b.Objects, string(objJSON))
213213
}
214214
b.CsvJSON = extractCSV(b.Objects)
215215
return nil

alpha/declcfg/model_to_declcfg.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ func traverseModelChannels(mpkg model.Package) ([]Channel, []Bundle) {
103103
channels = append(channels, c)
104104
}
105105

106+
// nolint:prealloc
106107
var bundles []Bundle
107108
for _, b := range bundleMap {
108109
b.Properties = property.Deduplicate(b.Properties)
@@ -120,6 +121,7 @@ func traverseModelChannels(mpkg model.Package) ([]Channel, []Bundle) {
120121
}
121122

122123
func ModelRelatedImagesToRelatedImages(relatedImages []model.RelatedImage) []RelatedImage {
124+
// nolint:prealloc
123125
var out []RelatedImage
124126
for _, ri := range relatedImages {
125127
out = append(out, RelatedImage{

alpha/declcfg/write.go

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ func (writer *MermaidWriter) WriteChannels(cfg DeclarativeConfig, out io.Writer)
128128

129129
for _, c := range cfg.Channels {
130130
filteredChannel := writer.filterChannel(&c, versionMap, minVersion, minEdgePackage)
131+
// nolint:nestif
131132
if filteredChannel != nil {
132133
pkgBuilder, ok := pkgs[c.Package]
133134
if !ok {
@@ -154,26 +155,26 @@ func (writer *MermaidWriter) WriteChannels(cfg DeclarativeConfig, out io.Writer)
154155
bundleDeprecation = ":::deprecated"
155156
}
156157

157-
entryId := fmt.Sprintf("%s-%s", channelID, ce.Name)
158-
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]%s\n", entryId, ce.Name, bundleDeprecation))
158+
entryID := fmt.Sprintf("%s-%s", channelID, ce.Name)
159+
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]%s\n", entryID, ce.Name, bundleDeprecation))
159160

160161
if len(ce.Replaces) > 0 {
161-
replacesId := fmt.Sprintf("%s-%s", channelID, ce.Replaces)
162-
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]-- %s --> %s[%q]\n", replacesId, ce.Replaces, "replace", entryId, ce.Name))
162+
replacesID := fmt.Sprintf("%s-%s", channelID, ce.Replaces)
163+
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]-- %s --> %s[%q]\n", replacesID, ce.Replaces, "replace", entryID, ce.Name))
163164
}
164165
if len(ce.Skips) > 0 {
165166
for _, s := range ce.Skips {
166-
skipsId := fmt.Sprintf("%s-%s", channelID, s)
167-
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]-- %s --> %s[%q]\n", skipsId, s, "skip", entryId, ce.Name))
167+
skipsID := fmt.Sprintf("%s-%s", channelID, s)
168+
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]-- %s --> %s[%q]\n", skipsID, s, "skip", entryID, ce.Name))
168169
}
169170
}
170171
if len(ce.SkipRange) > 0 {
171172
skipRange, err := semver.ParseRange(ce.SkipRange)
172173
if err == nil {
173174
for _, edgeName := range filteredChannel.Entries {
174175
if skipRange(versionMap[edgeName.Name]) {
175-
skipRangeId := fmt.Sprintf("%s-%s", channelID, edgeName.Name)
176-
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]-- \"%s(%s)\" --> %s[%q]\n", skipRangeId, edgeName.Name, "skipRange", ce.SkipRange, entryId, ce.Name))
176+
skipRangeID := fmt.Sprintf("%s-%s", channelID, edgeName.Name)
177+
pkgBuilder.WriteString(fmt.Sprintf(" %s[%q]-- \"%s(%s)\" --> %s[%q]\n", skipRangeID, edgeName.Name, "skipRange", ce.SkipRange, entryID, ce.Name))
177178
}
178179
}
179180
} else {
@@ -186,8 +187,8 @@ func (writer *MermaidWriter) WriteChannels(cfg DeclarativeConfig, out io.Writer)
186187
}
187188
}
188189

189-
out.Write([]byte("graph LR\n"))
190-
out.Write([]byte(fmt.Sprintf(" classDef deprecated fill:#E8960F\n")))
190+
_, _ = out.Write([]byte("graph LR\n"))
191+
_, _ = out.Write([]byte(" classDef deprecated fill:#E8960F\n"))
191192
pkgNames := []string{}
192193
for pname := range pkgs {
193194
pkgNames = append(pkgNames, pname)
@@ -196,19 +197,19 @@ func (writer *MermaidWriter) WriteChannels(cfg DeclarativeConfig, out io.Writer)
196197
return pkgNames[i] < pkgNames[j]
197198
})
198199
for _, pkgName := range pkgNames {
199-
out.Write([]byte(fmt.Sprintf(" %%%% package %q\n", pkgName)))
200-
out.Write([]byte(fmt.Sprintf(" subgraph %q\n", pkgName)))
201-
out.Write([]byte(pkgs[pkgName].String()))
202-
out.Write([]byte(" end\n"))
200+
_, _ = out.Write([]byte(fmt.Sprintf(" %%%% package %q\n", pkgName)))
201+
_, _ = out.Write([]byte(fmt.Sprintf(" subgraph %q\n", pkgName)))
202+
_, _ = out.Write([]byte(pkgs[pkgName].String()))
203+
_, _ = out.Write([]byte(" end\n"))
203204
}
204205

205206
if deprecatedPackage != "" {
206-
out.Write([]byte(fmt.Sprintf("style %s fill:#989695\n", deprecatedPackage)))
207+
_, _ = out.Write([]byte(fmt.Sprintf("style %s fill:#989695\n", deprecatedPackage)))
207208
}
208209

209210
if len(deprecatedChannels) > 0 {
210211
for _, deprecatedChannel := range deprecatedChannels {
211-
out.Write([]byte(fmt.Sprintf("style %s fill:#DCD0FF\n", deprecatedChannel)))
212+
_, _ = out.Write([]byte(fmt.Sprintf("style %s fill:#DCD0FF\n", deprecatedChannel)))
212213
}
213214
}
214215

@@ -236,6 +237,7 @@ func (writer *MermaidWriter) filterChannel(c *Channel, versionMap map[string]sem
236237
out := &Channel{Name: c.Name, Package: c.Package, Properties: c.Properties, Entries: []ChannelEntry{}}
237238
for _, ce := range c.Entries {
238239
filteredCe := ChannelEntry{Name: ce.Name}
240+
// nolint:nestif
239241
if writer.MinEdgeName == "" {
240242
// no minimum-edge specified
241243
filteredCe.SkipRange = ce.SkipRange
@@ -535,7 +537,7 @@ func writeFile(cfg DeclarativeConfig, filename string, writeFunc WriteFunc) erro
535537
if err := writeFunc(cfg, buf); err != nil {
536538
return fmt.Errorf("write to buffer for %q: %v", filename, err)
537539
}
538-
if err := os.WriteFile(filename, buf.Bytes(), 0666); err != nil {
540+
if err := os.WriteFile(filename, buf.Bytes(), 0600); err != nil {
539541
return fmt.Errorf("write file %q: %v", filename, err)
540542
}
541543
return nil

alpha/model/error.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package model
22

33
import (
44
"bytes"
5+
"errors"
56
"fmt"
67
"strings"
78
)
@@ -31,7 +32,7 @@ func (v *validationError) Error() string {
3132

3233
func (v *validationError) errorPrefix(prefix []rune, last bool, seen []error) string {
3334
for _, s := range seen {
34-
if v == s {
35+
if errors.Is(v, s) {
3536
return ""
3637
}
3738
}
@@ -56,7 +57,9 @@ func (v *validationError) errorPrefix(prefix []rune, last bool, seen []error) st
5657
} else {
5758
subPrefix = append(subPrefix, []rune("├── ")...)
5859
}
59-
if verr, ok := serr.(*validationError); ok {
60+
61+
var verr *validationError
62+
if errors.As(serr, &verr) {
6063
errMsg.WriteString(verr.errorPrefix(subPrefix, subLast, seen))
6164
} else {
6265
errMsg.WriteString(fmt.Sprintf("%s%s\n", string(subPrefix), serr))

alpha/model/model.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ func (i *Icon) Validate() error {
161161
return result.orNil()
162162
}
163163

164+
// nolint:unused
164165
func (i *Icon) validateData() error {
165166
if !filetype.IsImage(i.Data) {
166167
return errors.New("icon data is not an image")

alpha/property/property.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ func Deduplicate(in []Property) []Property {
178178
}
179179

180180
props := map[key]Property{}
181+
// nolint:prealloc
181182
var out []Property
182183
for _, p := range in {
183184
k := key{p.Type, string(p.Value)}

alpha/template/semver/semver.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ func (t Template) Render(ctx context.Context) (*declcfg.DeclarativeConfig, error
2222
return nil, fmt.Errorf("render: unable to read file: %v", err)
2323
}
2424

25+
// nolint:prealloc
2526
var cfgs []declcfg.DeclarativeConfig
2627

2728
bundleDict := buildBundleList(*sv)
@@ -211,6 +212,7 @@ func (sv *semverTemplate) generateChannels(semverChannels *bundleVersions) []dec
211212

212213
// sort the channel archetypes in ascending order so we can traverse the bundles in order of
213214
// their source channel's priority
215+
// nolint:prealloc
214216
var archetypesByPriority []channelArchetype
215217
for k := range channelPriorities {
216218
archetypesByPriority = append(archetypesByPriority, k)
@@ -370,7 +372,7 @@ func newPackage(name string) *declcfg.Package {
370372
func newChannel(pkgName string, chName string) *declcfg.Channel {
371373
return &declcfg.Channel{
372374
Schema: "olm.channel",
373-
Name: string(chName),
375+
Name: chName,
374376
Package: pkgName,
375377
Entries: []declcfg.ChannelEntry{},
376378
}
@@ -391,6 +393,7 @@ func getMinorVersion(v semver.Version) semver.Version {
391393
}
392394
}
393395

396+
// nolint:unused
394397
func getMajorVersion(v semver.Version) semver.Version {
395398
return semver.Version{
396399
Major: v.Major,

cmd/configmap-server/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,12 @@ func runCmdFunc(cmd *cobra.Command, args []string) error {
129129
}
130130

131131
var store registry.Query
132+
// nolint:staticcheck
132133
store, err = sqlite.NewSQLLiteQuerier(dbName)
133134
if err != nil {
134135
logger.WithError(err).Warnf("failed to load db")
135136
}
137+
// nolint:staticcheck
136138
if store == nil {
137139
store = registry.NewEmptyQuerier()
138140
}

0 commit comments

Comments
 (0)