Skip to content

Commit 67f1dd8

Browse files
authored
Changed to golangci-lint and introduced LintChanges command (getporter#3057)
* Changed to golangci-lint and introduced LintChanges command Signed-off-by: David Gannon <19214156+dgannon991@users.noreply.github.com> --------- Signed-off-by: David Gannon <19214156+dgannon991@users.noreply.github.com>
1 parent a20fd48 commit 67f1dd8

Some content is hidden

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

73 files changed

+329
-243
lines changed

cmd/exec/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func main() {
3131
defer func() {
3232
// Capture panics and trace them
3333
if panicErr := recover(); panicErr != nil {
34-
log.Error(fmt.Errorf("%s", panicErr),
34+
_ = log.Error(fmt.Errorf("%s", panicErr),
3535
attribute.Bool("panic", true),
3636
attribute.String("stackTrace", string(debug.Stack())))
3737
log.EndSpan()

cmd/porter/bundle.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ The docker driver builds the bundle image using the local Docker host. To use a
8686
"Path to the build context directory where all bundle assets are located. Defaults to the current directory.")
8787
f.StringVar(&opts.Driver, "driver", porter.BuildDriverDefault,
8888
fmt.Sprintf("Driver for building the invocation image. Allowed values are: %s", strings.Join(porter.BuildDriverAllowedValues, ", ")))
89-
f.MarkHidden("driver") // Hide the driver flag since there aren't any choices to make right now
89+
_ = f.MarkHidden("driver") // Hide the driver flag since there aren't any choices to make right now
9090
f.StringArrayVar(&opts.BuildArgs, "build-arg", nil,
9191
"Set build arguments in the template Dockerfile (format: NAME=VALUE). May be specified multiple times. Max length is 5,000 characters.")
9292
f.StringArrayVar(&opts.SSH, "ssh", nil,

cmd/porter/bundle_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,10 @@ func TestBuildValidate_Driver(t *testing.T) {
190190
// noop
191191
return nil
192192
}
193-
p.FileSystem.WriteFile("porter.yaml", []byte(""), pkg.FileModeWritable)
193+
err := p.FileSystem.WriteFile("porter.yaml", []byte(""), pkg.FileModeWritable)
194+
require.NoError(t, err)
194195

195-
err := rootCmd.Execute()
196+
err = rootCmd.Execute()
196197
if tc.wantError == "" {
197198
require.NoError(t, err)
198199
assert.Equal(t, tc.wantDriver, p.Data.BuildDriver)

cmd/porter/completion.go

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,18 @@ For additional details see: https://porter.sh/install#command-completion`,
1616
DisableFlagsInUseLine: true,
1717
ValidArgs: []string{"bash", "zsh", "fish", "powershell"},
1818
Args: cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs),
19-
Run: func(cmd *cobra.Command, args []string) {
19+
RunE: func(cmd *cobra.Command, args []string) error {
2020
switch args[0] {
2121
case "bash":
22-
cmd.Root().GenBashCompletion(p.Out)
22+
return cmd.Root().GenBashCompletion(p.Out)
2323
case "zsh":
24-
cmd.Root().GenZshCompletion(p.Out)
24+
return cmd.Root().GenZshCompletion(p.Out)
2525
case "fish":
26-
cmd.Root().GenFishCompletion(p.Out, true)
26+
return cmd.Root().GenFishCompletion(p.Out, true)
2727
case "powershell":
28-
cmd.Root().GenPowerShellCompletionWithDesc(p.Out)
28+
return cmd.Root().GenPowerShellCompletionWithDesc(p.Out)
2929
}
30+
return nil
3031
},
3132
}
3233
cmd.Annotations = map[string]string{

cmd/porter/installations.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -435,5 +435,5 @@ func addBundleActionFlags(f *pflag.FlagSet, actionOpts porter.BundleAction) {
435435

436436
// Gracefully support any renamed flags
437437
f.StringArrayVar(&opts.CredentialIdentifiers, "cred", nil, "DEPRECATED")
438-
f.MarkDeprecated("cred", "please use credential-set instead.")
438+
_ = f.MarkDeprecated("cred", "please use credential-set instead.")
439439
}

cmd/porter/main.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func main() {
6969
defer func() {
7070
// Capture panics and trace them
7171
if panicErr := recover(); panicErr != nil {
72-
log.Error(fmt.Errorf("%s", panicErr),
72+
_ = log.Error(fmt.Errorf("%s", panicErr),
7373
attribute.Bool("panic", true),
7474
attribute.String("stackTrace", string(debug.Stack())))
7575
log.EndSpan()
@@ -84,7 +84,7 @@ func main() {
8484
if err := rootCmd.ExecuteContext(ctx); err != nil {
8585
// Ideally we log all errors in the span that generated it,
8686
// but as a failsafe, always log the error at the root span as well
87-
log.Error(err)
87+
_ = log.Error(err)
8888
return cli.ExitCodeErr
8989
}
9090
return cli.ExitCodeSuccess

cmd/porter/main_test.go

+30-14
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ func TestExperimentalFlags(t *testing.T) {
9797

9898
cmd := buildRootCommandFrom(p.Porter)
9999
cmd.SetArgs([]string{"install"})
100-
cmd.Execute()
100+
err := cmd.Execute()
101+
require.Error(t, err)
102+
101103
assert.False(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
102104
})
103105

@@ -107,7 +109,8 @@ func TestExperimentalFlags(t *testing.T) {
107109

108110
cmd := buildRootCommandFrom(p.Porter)
109111
cmd.SetArgs([]string{"install", "--experimental", experimental.NoopFeature})
110-
cmd.Execute()
112+
err := cmd.Execute()
113+
require.Error(t, err)
111114

112115
assert.True(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
113116
})
@@ -121,7 +124,8 @@ func TestExperimentalFlags(t *testing.T) {
121124

122125
cmd := buildRootCommandFrom(p.Porter)
123126
cmd.SetArgs([]string{"install"})
124-
cmd.Execute()
127+
err := cmd.Execute()
128+
require.Error(t, err)
125129

126130
assert.True(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
127131
})
@@ -134,7 +138,8 @@ func TestExperimentalFlags(t *testing.T) {
134138
require.NoError(t, p.FileSystem.WriteFile("/home/myuser/.porter/config.yaml", cfg, pkg.FileModeWritable))
135139
cmd := buildRootCommandFrom(p.Porter)
136140
cmd.SetArgs([]string{"install"})
137-
cmd.Execute()
141+
err := cmd.Execute()
142+
require.Error(t, err)
138143

139144
assert.True(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
140145
})
@@ -147,7 +152,8 @@ func TestExperimentalFlags(t *testing.T) {
147152
require.NoError(t, p.FileSystem.WriteFile("/home/myuser/.porter/config.yaml", cfg, pkg.FileModeWritable))
148153
cmd := buildRootCommandFrom(p.Porter)
149154
cmd.SetArgs([]string{"install", "--experimental", "no-op"})
150-
cmd.Execute()
155+
err := cmd.Execute()
156+
require.Error(t, err)
151157

152158
assert.True(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
153159
})
@@ -161,7 +167,8 @@ func TestExperimentalFlags(t *testing.T) {
161167

162168
cmd := buildRootCommandFrom(p.Porter)
163169
cmd.SetArgs([]string{"install", "--experimental", "no-op"})
164-
cmd.Execute()
170+
err := cmd.Execute()
171+
require.Error(t, err)
165172

166173
assert.True(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
167174
})
@@ -177,7 +184,8 @@ func TestExperimentalFlags(t *testing.T) {
177184
require.NoError(t, p.FileSystem.WriteFile("/home/myuser/.porter/config.yaml", cfg, pkg.FileModeWritable))
178185
cmd := buildRootCommandFrom(p.Porter)
179186
cmd.SetArgs([]string{"install"})
180-
cmd.Execute()
187+
err := cmd.Execute()
188+
require.Error(t, err)
181189

182190
assert.False(t, p.Config.IsFeatureEnabled(experimental.FlagNoopFeature))
183191
})
@@ -198,7 +206,9 @@ func TestVerbosity(t *testing.T) {
198206

199207
cmd := buildRootCommandFrom(p.Porter)
200208
cmd.SetArgs([]string{"install"})
201-
cmd.Execute()
209+
err := cmd.Execute()
210+
require.Error(t, err)
211+
202212
assert.Equal(t, config.LogLevelInfo, p.Config.GetVerbosity())
203213
})
204214

@@ -208,7 +218,8 @@ func TestVerbosity(t *testing.T) {
208218

209219
cmd := buildRootCommandFrom(p.Porter)
210220
cmd.SetArgs([]string{"install", "--verbosity=debug"})
211-
cmd.Execute()
221+
err := cmd.Execute()
222+
require.Error(t, err)
212223

213224
assert.Equal(t, config.LogLevelDebug, p.Config.GetVerbosity())
214225
})
@@ -222,7 +233,8 @@ func TestVerbosity(t *testing.T) {
222233

223234
cmd := buildRootCommandFrom(p.Porter)
224235
cmd.SetArgs([]string{"install"})
225-
cmd.Execute()
236+
err := cmd.Execute()
237+
require.Error(t, err)
226238

227239
assert.Equal(t, config.LogLevelError, p.Config.GetVerbosity())
228240
})
@@ -235,7 +247,8 @@ func TestVerbosity(t *testing.T) {
235247
require.NoError(t, p.FileSystem.WriteFile("/home/myuser/.porter/config.yaml", cfg, pkg.FileModeWritable))
236248
cmd := buildRootCommandFrom(p.Porter)
237249
cmd.SetArgs([]string{"install"})
238-
cmd.Execute()
250+
err := cmd.Execute()
251+
require.Error(t, err)
239252

240253
assert.Equal(t, config.LogLevelWarn, p.Config.GetVerbosity())
241254
})
@@ -248,7 +261,8 @@ func TestVerbosity(t *testing.T) {
248261
require.NoError(t, p.FileSystem.WriteFile("/home/myuser/.porter/config.yaml", cfg, pkg.FileModeWritable))
249262
cmd := buildRootCommandFrom(p.Porter)
250263
cmd.SetArgs([]string{"install", "--verbosity", "warn"})
251-
cmd.Execute()
264+
err := cmd.Execute()
265+
require.Error(t, err)
252266

253267
assert.Equal(t, config.LogLevelWarn, p.Config.GetVerbosity())
254268
})
@@ -262,7 +276,8 @@ func TestVerbosity(t *testing.T) {
262276

263277
cmd := buildRootCommandFrom(p.Porter)
264278
cmd.SetArgs([]string{"install", "--verbosity=debug"})
265-
cmd.Execute()
279+
err := cmd.Execute()
280+
require.Error(t, err)
266281

267282
assert.Equal(t, config.LogLevelDebug, p.Config.GetVerbosity())
268283
})
@@ -278,7 +293,8 @@ func TestVerbosity(t *testing.T) {
278293
require.NoError(t, p.FileSystem.WriteFile("/home/myuser/.porter/config.yaml", cfg, pkg.FileModeWritable))
279294
cmd := buildRootCommandFrom(p.Porter)
280295
cmd.SetArgs([]string{"install"})
281-
cmd.Execute()
296+
err := cmd.Execute()
297+
require.Error(t, err)
282298

283299
assert.Equal(t, config.LogLevelWarn, p.Config.GetVerbosity())
284300
})

cmd/porter/mixins_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func TestBuildListMixinsCommand_AlternateFormat(t *testing.T) {
2525
defer p.Close()
2626

2727
cmd := buildMixinsListCommand(p.Porter)
28-
cmd.ParseFlags([]string{"-o", "json"})
28+
require.NoError(t, cmd.ParseFlags([]string{"-o", "json"}))
2929

3030
err := cmd.PreRunE(cmd, []string{})
3131

@@ -38,7 +38,7 @@ func TestBuildListMixinsCommand_BadFormat(t *testing.T) {
3838
defer p.Close()
3939

4040
cmd := buildMixinsListCommand(p.Porter)
41-
cmd.ParseFlags([]string{"-o", "flarts"})
41+
require.NoError(t, cmd.ParseFlags([]string{"-o", "flarts"}))
4242

4343
err := cmd.PreRunE(cmd, []string{})
4444

cmd/porter/plugins.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,10 @@ func buildPluginRunCommand(p *porter.Porter) *cobra.Command {
170170
Use: "run PLUGIN_KEY",
171171
Short: "Serve internal plugins",
172172
RunE: func(cmd *cobra.Command, args []string) error {
173-
opts.ApplyArgs(args)
173+
err := opts.ApplyArgs(args)
174+
if err != nil {
175+
return err
176+
}
174177
return p.RunInternalPlugins(cmd.Context(), opts)
175178
},
176179
Hidden: true, // This should ALWAYS be hidden, it is not a user-facing command

cmd/porter/run_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ func TestRun_Validate(t *testing.T) {
1515

1616
configTpl, err := p.Templates.GetManifest()
1717
require.NoError(t, err)
18-
p.TestConfig.TestContext.AddTestFileContents(configTpl, config.Name)
18+
require.NoError(t, p.TestConfig.TestContext.AddTestFileContents(configTpl, config.Name))
1919
cmd := buildRunCommand(p.Porter)
2020

2121
p.Setenv(config.EnvACTION, cnab.ActionInstall)
@@ -30,7 +30,7 @@ func TestRun_ValidateCustomAction(t *testing.T) {
3030

3131
configTpl, err := p.Templates.GetManifest()
3232
require.NoError(t, err)
33-
p.TestConfig.TestContext.AddTestFileContents(configTpl, config.Name)
33+
require.NoError(t, p.TestConfig.TestContext.AddTestFileContents(configTpl, config.Name))
3434
cmd := buildRunCommand(p.Porter)
3535

3636
p.Setenv(config.EnvACTION, "status")

mage/docs/docs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func Docs() {
3636
if baseURL != "" {
3737
cmd.Args("-b", baseURL)
3838
}
39-
cmd.RunV()
39+
mgx.Must(cmd.RunV())
4040
}
4141

4242
func removePreviewContainer() {

magefile.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -702,10 +702,10 @@ func Vet() {
702702
must.RunV("go", "vet", "./...")
703703
}
704704

705-
// Run staticcheck on the project
705+
// Run golangci-lint on the project
706706
func Lint() {
707-
mg.Deps(tools.EnsureStaticCheck)
708-
must.RunV("staticcheck", "./...")
707+
mg.Deps(tools.EnsureGolangCILint)
708+
must.RunV("golangci-lint", "run", "--max-issues-per-linter", "0", "--max-same-issues", "0", "./...")
709709
}
710710

711711
func getPorterHome() string {

pkg/build/buildkit/buildx.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,7 @@ func (b *Builder) determineBuildArgs(
163163
manifest *manifest.Manifest,
164164
opts build.BuildImageOptions) (map[string]string, error) {
165165

166-
//lint:ignore SA4006 ignore unused context for now
167-
ctx, span := tracing.StartSpan(ctx)
166+
_, span := tracing.StartSpan(ctx)
168167
defer span.EndSpan()
169168

170169
// This will grow later when we add custom build args from the porter.yaml

0 commit comments

Comments
 (0)