Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Adding bugs Lint Preset #3334

Merged
merged 15 commits into from
Aug 12, 2024
Merged

Conversation

yhakbar
Copy link
Collaborator

@yhakbar yhakbar commented Aug 11, 2024

Description

Adds the bugs preset to the linting rules.

TODOs

Read the Gruntwork contribution guidelines.

  • Update the docs.
  • Run the relevant tests successfully, including pre-commit checks.
  • Ensure any 3rd party code adheres with our license policy or delete this line if its not applicable.
  • Include release notes. If this PR is backward incompatible, include a migration guide.

Release Notes (draft)

Updated package aws_helper
Updated package awsproviderpatch
Updated package cache
Updated package cli
Updated package cliconfig
Updated package codegen
Updated package commands
Updated package config
Updated package configstack
Updated package diagnostic
Updated package dynamodb
Updated package engine
Updated package getproviders
Updated package hclparse
Updated package main
Updated package module
Updated package remote
Updated package runall
Updated package scaffold
Updated package shell
Updated package telemetry
Updated package terraform
Updated package terragruntinfo
Updated package test
Updated package tflint
Updated package tui
Updated package util
Updated package view

@yhakbar
Copy link
Collaborator Author

yhakbar commented Aug 11, 2024

Findings before updates:

$ git checkout fdee7aa03c5dd67cec2b0011dbe72cd00c0d629c
$ golangci-lint run
codegen/generate.go:135:2: missing cases in switch of type codegen.GenerateConfigExists: codegen.ExistsUnknown (exhaustive)
	switch ifExists {
	^
codegen/generate.go:169:2: missing cases in switch of type codegen.GenerateConfigDisabled: codegen.DisabledUnknown (exhaustive)
	switch ifDisable {
	^
codegen/generate_test.go:58:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err)
			^
codegen/generate_test.go:108:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err)
			^
codegen/generate_test.go:112:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err)
			^
config/hclparse/attributes.go:28:4: error is not nil (line 27) but it returns nil (nilerr)
			return nil
			^
cli/commands/terraform/version_check.go:39:63: Function `PartialParseConfigFile` should pass the context parameter (contextcheck)
	partialTerragruntConfig, err := config.PartialParseConfigFile(
	                                                             ^
cli/commands/terraform/hook.go:44:28: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
					processError, cast := originalError.(util.ProcessExecutionError)
					                      ^
cli/commands/terraform/download_source_test.go:257:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(DownloadingTerraformSourceErr)
	         ^
cli/commands/terraform/download_source_test.go:276:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(WorkingDirNotFound)
	         ^
cli/commands/terraform/download_source_test.go:295:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(WorkingDirNotDir)
	         ^
cli/commands/terraform/download_source_test.go:395:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
cli/commands/terraform/download_source_test.go:408:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "For terraform source %v: %v", terraformSource, err)
	^
cli/commands/terraform/download_source_test.go:424:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
cli/commands/terraform/download_source_test.go:427:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error for terraform source %v: %v", terraformSource, err)
	^
cli/commands/terraform/download_source_test.go:468:2: error-nil: use require.NoError (testifylint)
	require.Nil(t, err)
	^
cli/commands/terraform/version_check_test.go:96:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, err, "Expected Terraform version %s to meet constraint %s, but got error: %v", currentVersion, versionConstraint, err)
		^
cli/commands/terraform/version_check_test.go:98:3: error-nil: use assert.Error (testifylint)
		assert.NotNil(t, err, "Expected Terraform version %s to NOT meet constraint %s, but got back a nil error", currentVersion, versionConstraint)
		^
cli/commands/terraform/version_check_test.go:110:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, actualErr)
		^
cli/commands/terraform/download_source_test.go:253:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
cli/commands/terraform/download_source_test.go:256:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
cli/commands/terraform/download_source_test.go:290:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
cli/commands/terraform/download_source_test.go:294:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
cli/commands/terraform/download_source_test.go:366:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
cli/commands/terraform/download_source_test.go:271:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
cli/commands/terraform/download_source_test.go:275:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
cli/commands/catalog/module/repo_test.go:64:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
internal/cache/cache_test.go:19:2: empty: use assert.Empty (testifylint)
	assert.Equal(t, 0, len(cache.Cache))
	^
internal/cache/cache_test.go:49:2: empty: use assert.Empty (testifylint)
	assert.Equal(t, 0, len(cache.Cache))
	^
util/datetime.go:12:17: type switch on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		switch err := err.(type) {
		              ^
util/file.go:236:19: comparing with != will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
	if err != nil && err != os.ErrNotExist {
	                 ^
util/file.go:519:7: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
			if err == io.EOF {
			   ^
util/retry.go:25:23: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		if _, isFatalErr := err.(FatalError); isFatalErr {
		                    ^
util/shell.go:20:21: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		if exitErr, ok := err.(*exec.ExitError); ok {
		                  ^
util/shell.go:45:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	if exiterr, ok := errors.Unwrap(err).(*exec.ExitError); ok {
	                  ^
util/shell.go:50:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	if exiterr, ok := errors.Unwrap(err).(*multierror.Error); ok {
	                  ^
util/reflect.go:42:3: missing cases in switch of type reflect.Kind: reflect.Invalid, reflect.Bool, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128, reflect.Chan, reflect.Func, reflect.Interface, reflect.Pointer|reflect.Ptr, reflect.String, reflect.Struct, reflect.UnsafePointer (exhaustive)
		switch reflect.TypeOf(found).Kind() {
		^
util/collections_test.go:195:3: expected-actual: need to reverse actual and expected values (testifylint)
		assert.Equal(t, f(testCase.list), testCase.expected, "For list %v", testCase.list)
		^
util/collections_test.go:213:3: expected-actual: need to reverse actual and expected values (testifylint)
		assert.Equal(t, CommaSeparatedStrings(testCase.list), testCase.expected, "For list %v", testCase.list)
		^
util/file_test.go:38:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, err, "Unexpected error for path %s and basePath %s: %v", testCase.path, testCase.basePath, err)
		^
util/file_test.go:67:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, err, "Unexpected error for path %s and basePath %s: %v", testCase.path, testCase.basePath, err)
		^
util/file_test.go:105:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, err, "Unexpected error for paths %s and basePath %s: %v", testCase.paths, basePath, err)
		^
util/file_test.go:183:3: error-is-as: invalid usage of assert.NoError, use assert.NotErrorIs instead (testifylint)
		assert.NoError(t, err, f.Close())
		^
util/file_test.go:191:2: error-nil: use require.NoError (testifylint)
	require.Nil(t, manifest.Create())
	^
util/file_test.go:203:3: bool-compare: use assert.False (testifylint)
		assert.Equal(t, FileExists(file), false)
		^
util/prefix-writer_test.go:48:4: len: use assert.Len (testifylint)
			assert.Equal(t, written, len(input))
			^
util/prefix-writer_test.go:76:4: expected-actual: need to reverse actual and expected values (testifylint)
			assert.Equal(t, written, 0)
			^
util/file_test.go:79:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
util/prefix-writer_test.go:47:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
util/file_test.go:195:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, manifest.AddFile(file))
		^
util/jsons_test.go:22:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
util/datetime_test.go:33:5: require-error: for error assertions use require (testifylint)
				assert.EqualError(t, err, testCase.err)
				^
util/datetime_test.go:35:5: require-error: for error assertions use require (testifylint)
				assert.NoError(t, err)
				^
util/prefix-writer_test.go:75:4: require-error: for error assertions use require (testifylint)
			assert.Error(t, err)
			^
util/file_test.go:336:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
cli/commands/flags.go:365:17: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
				if _, ok := err.(cli.InvalidCommandNameError); ok {
				            ^
aws_helper/config.go:126:3: error is not nil (line 125) but it returns nil (nilerr)
		return []byte(f), nil
		^
aws_helper/policy_test.go:58:2: len: use assert.Len (testifylint)
	assert.Equal(t, 1, len(bucketPolicy.Statement))
	^
aws_helper/policy_test.go:86:2: len: use assert.Len (testifylint)
	assert.Equal(t, 1, len(bucketPolicy.Statement))
	^
aws_helper/policy_test.go:92:3: len: use assert.Len (testifylint)
		assert.Equal(t, 11, len(actions))
		^
aws_helper/policy_test.go:100:3: len: use assert.Len (testifylint)
		assert.Equal(t, 2, len(resource))
		^
aws_helper/config_test.go:16:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
aws_helper/policy_test.go:56:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
aws_helper/policy_test.go:77:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
aws_helper/policy_test.go:84:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
aws_helper/policy_test.go:107:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
cli/commands/catalog/tui/tui.go:14:33: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
		if err := context.Cause(ctx); err == context.Canceled {
		                              ^
cli/app.go:186:20: Function `runAction` should pass the context parameter (contextcheck)
			return runAction(ctx, opts, action)
			                ^
cli/registry_urls.go:31:10: Error return value of `encoding/json.Marshal` is not checked (errchkjson)
	b, _ := json.Marshal(urls) //nolint:errcheck
	        ^
cli/app_test.go:196:4: error-nil: use assert.NoError (testifylint)
			assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
			^
cli/app_test.go:325:4: error-nil: use assert.NoError (testifylint)
			assert.Nil(t, actualErr, "Unexpected error: %q", actualErr)
			^
cli/app_test.go:358:4: error-nil: use assert.NoError (testifylint)
			assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
			^
internal/view/diagnostic/servity.go:19:2: missing cases in switch of type hcl.DiagnosticSeverity: hcl.DiagInvalid (exhaustive)
	switch hcl.DiagnosticSeverity(severity) {
	^
cli/commands/scaffold/action_test.go:88:2: len: use require.Len (testifylint)
	require.Equal(t, 1, len(cfg.Inputs))
	^
telemetry/metrics.go:101:2: missing cases in switch of type telemetry.metricsExporterType: telemetry.noneMetricsExporterType (exhaustive)
	switch exporterType {
	^
telemetry/traces.go:129:2: missing cases in switch of type telemetry.traceExporterType: telemetry.noneTraceExporterType (exhaustive)
	switch exporterType {
	^
telemetry/traces.go:180:2: span.End is not called on all paths, possible memory leak (spancheck)
	ctx, span := rootTracer.Start(ctx, name)
	^
telemetry/traces.go:183:2: return can be reached without calling span.End (spancheck)
	return ctx, span
	^
telemetry/traces_test.go:18:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
telemetry/traces_test.go:21:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
telemetry/traces_test.go:24:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
telemetry/traces_test.go:99:5: require-error: for error assertions use require (testifylint)
				assert.NoError(t, err)
				^
telemetry/metrics_test.go:20:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
telemetry/metrics_test.go:68:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
remote/remote_state_gcs.go:196:36: Function `CreateGCSClient` should pass the context parameter (contextcheck)
		gcsClient, err := CreateGCSClient(gcsConfig)
		                                 ^
remote/remote_state_gcs.go:209:41: Function `checkIfGCSVersioningEnabled` should pass the context parameter (contextcheck)
			if err := checkIfGCSVersioningEnabled(gcsClient, &gcsConfig, terragruntOptions); err != nil {
			                                     ^
remote/remote_state_gcs.go:276:24: Function `DoesGCSBucketExist` should pass the context parameter (contextcheck)
	if !DoesGCSBucketExist(gcsClient, &config.remoteStateConfigGCS) {
	                      ^
remote/remote_state_gcs.go:304:41: Function `CreateGCSBucketWithVersioning->CreateGCSBucket` should pass the context parameter (contextcheck)
				return CreateGCSBucketWithVersioning(gcsClient, config, terragruntOptions)
				                                    ^
remote/remote_state_gcs.go:446:26: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
	if _, err := it.Next(); err == storage.ErrBucketNotExist {
	                        ^
remote/remote_state_gcs.go:476:60: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
			return nil, fmt.Errorf("Error loading credentials: %s", err)
			                                                        ^
remote/remote_state_gcs.go:480:75: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
			return nil, fmt.Errorf("Error parsing credentials '%s': %s", contents, err)
			                                                                       ^
remote/remote_state_gcs.go:484:75: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
			return nil, fmt.Errorf("Error parsing credentials '%s': %s", contents, err)
			                                                                       ^
remote/remote_state_s3.go:965:22: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	awsErr, isAwsErr := errors.Unwrap(err).(awserr.Error)
	                    ^
remote/remote_state_s3.go:971:22: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	awsErr, isAwsErr := errors.Unwrap(err).(awserr.Error)
	                    ^
remote/remote_state_s3.go:1065:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		if awsErr, ok := err.(awserr.Error); ok {
		                 ^
remote/remote_state_s3.go:1178:18: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		if aerr, ok := err.(awserr.Error); ok {
		               ^
remote/remote_state_s3.go:1380:18: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		if aerr, ok := err.(awserr.Error); ok {
		               ^
remote/remote_state_s3.go:1485:22: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	awsErr, isAwsErr := errors.Unwrap(err).(awserr.Error)
	                    ^
remote/terraform_state_file_test.go:320:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, isSyntaxErr := underlyingErr.(*json.SyntaxError)
	                  ^
remote/terraform_state_file.go:97:47: the given struct should be annotated with the `json` tag (musttag)
	if err := json.Unmarshal(terraformStateData, terraformState); err != nil {
	                                             ^
remote/remote_state_s3.go:596:6: error is not nil (line 595) but it returns nil (nilerr)
					return nil
					^
remote/remote_state_s3.go:831:4: error is not nil (line 830) but it returns nil (nilerr)
			return nil
			^
remote/remote_state_gcs_test.go:15:2: error-nil: use require.NoError (testifylint)
	require.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
remote/remote_state_s3_test.go:125:2: error-nil: use require.NoError (testifylint)
	require.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
remote/remote_state_s3_test.go:249:2: error-nil: use require.NoError (testifylint)
	require.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
remote/remote_state_s3_test.go:282:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err, "Unexpected error parsing config for test: %v", err)
			^
remote/remote_state_s3_test.go:285:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err, "Unexpected error creating client for test: %v", err)
			^
remote/remote_state_s3_test.go:323:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err, "Unexpected error parsing config for test: %v", err)
			^
remote/remote_state_s3_test.go:365:4: error-nil: use require.NoError (testifylint)
			require.Nil(t, err, "Unexpected error parsing config for test: %v", err)
			^
remote/remote_state_test.go:132:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
remote/remote_state_s3_test.go:570:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
remote/terraform_state_file_test.go:46:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
remote/terraform_state_file_test.go:103:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
remote/terraform_state_file_test.go:290:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
remote/terraform_state_file_test.go:317:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
remote/remote_state_s3_test.go:619:5: require-error: for error assertions use require (testifylint)
				assert.ErrorIs(t, err, testCase.expectedErr)
				^
remote/terraform_state_file_test.go:304:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
tflint/tflint_test.go:37:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
configstack/stack.go:510:56: Function `PartialParseConfigFile` should pass the context parameter (contextcheck)
	terragruntConfig, err := config.PartialParseConfigFile(
	                                                      ^
configstack/test_helpers.go:128:60: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	if expectedUnrecognized, isUnrecognizedDependencyError := expected.(UnrecognizedDependencyError); isUnrecognizedDependencyError {
	                                                          ^
configstack/test_helpers.go:129:56: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		actualUnrecognized, isUnrecognizedDependencyError := actual.(UnrecognizedDependencyError)
		                                                     ^
configstack/test_helpers.go:183:30: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	multiError, isMultiError := actualError.(*multierror.Error)
	                            ^
configstack/test_helpers.go:189:8: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
				if expectedErr == actualErr {
				   ^
configstack/module_test.go:200:17: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
			actualErr := errors.Unwrap(actual).(DependencyCycleError)
			             ^
configstack/stack_test.go:1094:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	underlying, ok := errors.Unwrap(actualErr).(ProcessingModuleError)
	                  ^
configstack/running_module.go:239:4: missing cases in switch of type configstack.DependencyOrder: configstack.ReverseOrder (exhaustive)
			switch dependencyOrder {
			^
configstack/module.go:170:4: error is not nil (line 168) but it returns nil (nilerr)
			return dependencies, nil
			^
configstack/module_test.go:198:4: error-nil: use assert.NoError (testifylint)
			assert.Nil(t, actual)
			^
configstack/module_test.go:199:13: error-nil: use assert.Error (testifylint)
		} else if assert.NotNil(t, actual, "For modules %v", testCase.modules) {
		          ^
configstack/module_test.go:214:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:233:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:254:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:274:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:294:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:393:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:432:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:471:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:510:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:631:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:679:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:719:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/module_test.go:758:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
configstack/running_module_test.go:490:5: error-nil: use assert.NoError (testifylint)
	if assert.Nil(t, err, "For modules %v and order %v", modules, order) {
	   ^
configstack/stack_test.go:201:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:224:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:247:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:273:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:359:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:385:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:411:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:446:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:481:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:516:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:553:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:602:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:645:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:680:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:722:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:765:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:815:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:875:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:935:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:987:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:1022:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/stack_test.go:1109:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
	^
configstack/module_test.go:842:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:546:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, optsErr)
	^
configstack/module_test.go:588:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:428:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:627:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:311:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:389:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:754:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:1007:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:1149:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:290:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:924:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:506:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:967:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:229:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:467:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:675:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:715:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:1220:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, optsErr)
	^
configstack/stack_test.go:295:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
configstack/stack_test.go:299:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
configstack/module_test.go:1070:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:1074:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:250:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:270:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:332:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:353:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:210:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:796:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
configstack/module_test.go:884:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
dynamodb/dynamo_lock_table.go:66:26: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		if awsErr, isAwsErr := err.(awserr.Error); isAwsErr && awsErr.Code() == "ResourceNotFoundException" {
		                       ^
dynamodb/dynamo_lock_table.go:195:22: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	awsErr, isAwsErr := err.(awserr.Error)
	                    ^
dynamodb/dynamo_lock_test_utils.go:42:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
dynamodb/dynamo_lock_test_utils.go:53:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
dynamodb/dynamo_lock_test_utils.go:70:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
dynamodb/dynamo_lock_table_test.go:48:4: error-nil: use assert.NoError (testifylint)
			assert.Nil(t, err, "Unexpected error: %v", err)
			^
dynamodb/dynamo_lock_table_test.go:86:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, err, "Unexpected error: %v", err)
		^
dynamodb/dynamo_lock_table_test.go:108:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, err, "Unexpected error: %v", err)
		^
cli/commands/aws-provider-patch/action.go:129:48: the given struct should be annotated with the `json` tag (musttag)
	if err := json.Unmarshal(modulesJsonContents, &terraformModulesJson); err != nil {
	                                              ^
cli/commands/aws-provider-patch/action_test.go:321:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
cli/commands/render-json/action.go:98:50: the given struct should be annotated with the `json` tag (musttag)
	if err := json.Unmarshal(jsonBytesIntermediate, &ctyJsonOutput); err != nil {
	                                                ^
internal/view/human_render.go:87:2: missing cases in switch of type hcl.DiagnosticSeverity: hcl.DiagInvalid (exhaustive)
	switch hcl.DiagnosticSeverity(diag.Severity) {
	^
config/catalog.go:74:34: Function `ParseConfigString->ParseConfig->setIAMRole->TerragruntConfigFromPartialConfig->PartialParseConfig->DecodeBaseBlocks->createTerragruntEvalContext->readTerragruntConfigAsFuncImpl->readTerragruntConfigAsFuncImpl$1->readTerragruntConfig->ParseConfigFile` should pass the context parameter (contextcheck)
	config, err := ParseConfigString(ctx, configPath, configString, nil)
	                                ^
config/config.go:694:24: Function `ParseConfigFile` should pass the context parameter (contextcheck)
	return ParseConfigFile(parcingCtx, terragruntOptions.TerragruntConfigPath, nil)
	                      ^
config/config.go:725:40: Non-inherited new context, use function like `context.WithXXX` instead (contextcheck)
		if cacheConfig, found := hclCache.Get(ctx, cacheKey); found {
		                                     ^
config/config.go:735:28: Function `ParseConfig->setIAMRole->TerragruntConfigFromPartialConfig->PartialParseConfig->DecodeBaseBlocks->createTerragruntEvalContext->readTerragruntConfigAsFuncImpl->readTerragruntConfigAsFuncImpl$1->readTerragruntConfig->ParseConfigFile` should pass the context parameter (contextcheck)
		config, err = ParseConfig(ctx, file, includeFromChild)
		                         ^
config/config.go:733:16: Non-inherited new context, use function like `context.WithXXX` instead (contextcheck)
			hclCache.Put(ctx, cacheKey, file)
			            ^
config/catalog.go:106:16: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
			if _, ok := errors.Unwrap(err).(ParentFileNotFoundError); ok {
			            ^
config/config.go:889:18: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		diagErr, ok := errors.Unwrap(err).(hcl.Diagnostics)
		               ^
config/config_partial.go:330:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
				diagErr, ok := errors.Unwrap(err).(hcl.Diagnostics)
				               ^
config/locals_test.go:113:9: type switch on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	switch errors.Unwrap(err).(type) {
	       ^
config/dependency.go:436:4: missing cases in switch of type config.MergeStrategyType: config.DeepMerge (exhaustive)
			switch mockMergeStrategy {
			^
config/include.go:130:3: missing cases in switch of type config.MergeStrategyType: config.DeepMergeMapOnly (exhaustive)
		switch mergeStrategy {
		^
config/include.go:176:3: missing cases in switch of type config.MergeStrategyType: config.DeepMergeMapOnly (exhaustive)
		switch mergeStrategy {
		^
config/config.go:982:49: the given struct should be annotated with the `mapstructure` tag (musttag)
		if err := mapstructure.Decode(remoteStateMap, &remoteState); err != nil {
		                                              ^
config/config.go:1095:41: the given struct should be annotated with the `mapstructure` tag (musttag)
			if err := mapstructure.Decode(block, &generateBlock); err != nil {
			                                     ^
config/cty_helpers.go:235:38: the given struct should be annotated with the `json` tag (musttag)
	if err := json.Unmarshal(jsonBytes, &ctyJsonOutput); err != nil {
	                                    ^
config/variable.go:90:44: the given struct should be annotated with the `json` tag (musttag)
							if err := json.Unmarshal(jsonBytes, &ctyJsonOutput); err != nil {
							                                    ^
config/cache_test.go:21:2: empty: use assert.Empty (testifylint)
	assert.Equal(t, 0, len(cache.Cache))
	^
config/config_helpers_test.go:84:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, actualErr, "For include %v and options %v, unexpected error: %v", testCase.include, testCase.terragruntOptions, actualErr)
		^
config/config_helpers_test.go:155:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, actualErr, "For include %v and options %v, unexpected error: %v", testCase.include, testCase.terragruntOptions, actualErr)
		^
config/config_helpers_test.go:228:5: error-nil: use assert.NoError (testifylint)
				assert.Nil(t, actualErr)
				^
config/config_helpers_test.go:333:5: error-nil: use assert.NoError (testifylint)
				assert.Nil(t, actualErr)
				^
config/config_helpers_test.go:618:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Could not get current working dir: %v", err)
	^
config/config_helpers_test.go:625:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Could not get current working dir: %v", err)
	^
config/config_helpers_test.go:633:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
config/config_helpers_test.go:638:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_helpers_test.go:666:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Could not get current working dir: %v", err)
	^
config/config_helpers_test.go:732:3: error-nil: use assert.NoError (testifylint)
		assert.Nil(t, actualErr, "For include %v and options %v, unexpected error: %v", testCase.include, testCase.terragruntOptions, actualErr)
		^
config/config_helpers_test.go:878:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsMap["string"].(string), "string")
	^
config/config_helpers_test.go:879:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, inputsMap["number"].(float64), float64(42))
	^
config/config_helpers_test.go:880:2: bool-compare: use assert.True (testifylint)
	assert.Equal(t, inputsMap["bool"].(bool), true)
	^
config/config_helpers_test.go:881:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsMap["list_string"].([]interface{}), []interface{}{"a", "b", "c"})
	^
config/config_helpers_test.go:882:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsMap["list_number"].([]interface{}), []interface{}{float64(1), float64(2), float64(3)})
	^
config/config_helpers_test.go:883:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsMap["list_bool"].([]interface{}), []interface{}{true, false})
	^
config/config_helpers_test.go:884:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsMap["map_string"].(map[string]interface{}), map[string]interface{}{"foo": "bar"})
	^
config/config_helpers_test.go:885:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:890:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:895:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:905:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsMap["from_env"].(string), "default")
	^
config/config_helpers_test.go:920:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, remoteStateMap["backend"].(string), "s3")
	^
config/config_helpers_test.go:922:2: bool-compare: use assert.True (testifylint)
	assert.Equal(t, configMap["encrypt"].(bool), true)
	^
config/config_helpers_test.go:923:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, configMap["key"].(string), "terraform.tfstate")
	^
config/config_helpers_test.go:924:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:929:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:934:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:954:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:959:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:966:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:971:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:977:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
config/config_helpers_test.go:996:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, localsMap["x"].(float64), float64(2))
	^
config/config_helpers_test.go:997:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, localsMap["file_contents"].(string), "Hello world\n")
	^
config/config_helpers_test.go:998:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, localsMap["number_expression"].(float64), float64(42))
	^
config/config_helpers_test.go:1181:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, locals["string_var"].(string), "string")
	^
config/config_helpers_test.go:1182:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, locals["number_var"].(float64), float64(42))
	^
config/config_helpers_test.go:1183:2: bool-compare: use assert.True (testifylint)
	assert.Equal(t, locals["bool_var"].(bool), true)
	^
config/config_helpers_test.go:1184:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, locals["list_var"].([]interface{}), []interface{}{"hello", "world"})
	^
config/config_helpers_test.go:1186:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, locals["json_number_var"].(float64), float64(24))
	^
config/config_helpers_test.go:1187:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, locals["json_string_var"].(string), "another string")
	^
config/config_helpers_test.go:1188:2: bool-compare: use assert.False (testifylint)
	assert.Equal(t, locals["json_bool_var"].(bool), false)
	^
config/config_partial_test.go:31:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 1)
	^
config/config_partial_test.go:32:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths[0], "../app1")
	^
config/config_partial_test.go:80:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 1)
	^
config/config_partial_test.go:81:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths[0], "../app1")
	^
config/config_partial_test.go:153:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 1)
	^
config/config_partial_test.go:154:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths[0], "../app1")
	^
config/config_partial_test.go:179:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.TerragruntDependencies), 1)
	^
config/config_partial_test.go:180:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.TerragruntDependencies[0].Name, "vpc")
	^
config/config_partial_test.go:203:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.TerragruntDependencies), 2)
	^
config/config_partial_test.go:204:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.TerragruntDependencies[0].Name, "vpc")
	^
config/config_partial_test.go:206:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.TerragruntDependencies[1].Name, "sql")
	^
config/config_partial_test.go:229:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 2)
	^
config/config_partial_test.go:230:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths, []string{"../app1", "../db1"})
	^
config/config_partial_test.go:256:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 3)
	^
config/config_partial_test.go:257:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths, []string{"../vpc", "../app1", "../db1"})
	^
config/config_partial_test.go:283:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 3)
	^
config/config_partial_test.go:284:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths, []string{"../app1", "../db1", "../vpc"})
	^
config/config_partial_test.go:310:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(terragruntConfig.Dependencies.Paths), 2)
	^
config/config_partial_test.go:311:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, terragruntConfig.Dependencies.Paths, []string{"../app1", "../db1"})
	^
config/config_partial_test.go:338:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, *terragruntConfig.Terraform.Source, "../../modules/app")
	^
config/config_test.go:221:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, *terragruntConfig.RetryMaxAttempts, 10)
	^
config/config_test.go:222:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, *terragruntConfig.RetrySleepIntervalSec, 60)
	^
config/config_test.go:472:5: error-nil: use assert.NoError (testifylint)
	if assert.Nil(t, err, "Unexpected error: %v", errors.PrintErrorWithStackTrace(err)) {
	   ^
config/config_test.go:500:5: error-nil: use assert.NoError (testifylint)
	if assert.Nil(t, err, "Unexpected error: %v", errors.PrintErrorWithStackTrace(err)) {
	   ^
config/config_test.go:540:5: error-nil: use assert.NoError (testifylint)
	if assert.Nil(t, err, "Unexpected error: %v", errors.PrintErrorWithStackTrace(err)) {
	   ^
config/config_test.go:944:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:957:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:970:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:987:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1004:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1021:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1036:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1054:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1072:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1091:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1114:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1131:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error: %v", err)
	^
config/config_test.go:1163:2: bool-compare: use assert.True (testifylint)
	assert.Equal(t, true, *terragruntConfig.PreventDestroy)
	^
config/config_test.go:1182:2: bool-compare: use assert.False (testifylint)
	assert.Equal(t, false, *terragruntConfig.PreventDestroy)
	^
config/config_test.go:1201:2: bool-compare: use assert.True (testifylint)
	assert.Equal(t, true, terragruntConfig.Skip)
	^
config/config_test.go:1220:2: bool-compare: use assert.False (testifylint)
	assert.Equal(t, false, terragruntConfig.Skip)
	^
config/config_test.go:1315:4: expected-actual: need to reverse actual and expected values (testifylint)
			assert.Equal(t, target.Paths, testCase.expected)
			^
config/dependency_test.go:38:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(decoded.Dependencies), 2)
	^
config/dependency_test.go:39:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, decoded.Dependencies[0].Name, "vpc")
	^
config/dependency_test.go:41:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, decoded.Dependencies[1].Name, "sql")
	^
config/dependency_test.go:59:2: empty: use assert.Empty (testifylint)
	assert.Equal(t, len(decoded.Dependencies), 0)
	^
config/dependency_test.go:97:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(decoded.Dependencies), 1)
	^
config/dependency_test.go:99:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, dependency.Name, "hitchhiker")
	^
config/dependency_test.go:109:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, actualDefault.TheAnswer, 42)
	^
config/dependency_test.go:113:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, *defaultAllowedCommands, []string{"validate", "apply"})
	^
config/dependency_test.go:128:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, tfConfig.TerragruntDependencies[0].Name, "dependency_1")
	^
config/dependency_test.go:129:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, tfConfig.TerragruntDependencies[1].Name, "dependency_2")
	^
config/dependency_test.go:150:2: len: use assert.Len (testifylint)
	assert.Equal(t, len(decoded.Dependencies), 2)
	^
config/locals_test.go:31:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, actualRegion, "us-east-1")
	^
config/locals_test.go:35:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, actualS3Url, "com.amazonaws.us-east-1.s3")
	^
config/locals_test.go:39:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, actualX, float64(1))
	^
config/locals_test.go:43:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, actualY, float64(2))
	^
config/locals_test.go:47:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, actualZ, float64(3))
	^
config/locals_test.go:51:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, actualFoo.First, Foo{
	^
config/locals_test.go:58:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, actualBar, "us-east-1")
	^
config/locals_test.go:78:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, actualA, expected)
	^
config/locals_test.go:96:3: expected-actual: need to reverse actual and expected values (testifylint)
		assert.Equal(t, actual, expected)
		^
config/config_partial_test.go:116:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
config/config_helpers_test.go:857:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
config/config_helpers_test.go:1057:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
config/config_partial_test.go:56:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
config/config_helpers_test.go:1087:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
config/config_helpers_test.go:1158:5: require-error: for error assertions use require (testifylint)
				assert.EqualError(t, err, testCase.err)
				^
config/config_helpers_test.go:1160:5: require-error: for error assertions use require (testifylint)
				assert.NoError(t, err)
				^
config/include_test.go:155:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
config/variable_test.go:15:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
config/config_test.go:706:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
config/variable_test.go:47:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
config/config_helpers_test.go:1121:5: require-error: for error assertions use require (testifylint)
				assert.EqualError(t, err, testCase.err)
				^
config/config_helpers_test.go:1123:5: require-error: for error assertions use require (testifylint)
				assert.NoError(t, err)
				^
engine/engine.go:468:6: avoid direct access to proto field runResp.Stdout, use runResp.GetStdout() instead (protogetter)
		if runResp.Stdout != "" {
		   ^
engine/engine.go:469:34: avoid direct access to proto field runResp.Stdout, use runResp.GetStdout() instead (protogetter)
			_, err := stdout.Write([]byte(runResp.Stdout))
			                              ^
engine/engine.go:474:6: avoid direct access to proto field runResp.Stderr, use runResp.GetStderr() instead (protogetter)
		if runResp.Stderr != "" {
		   ^
engine/engine.go:475:34: avoid direct access to proto field runResp.Stderr, use runResp.GetStderr() instead (protogetter)
			_, err := stderr.Write([]byte(runResp.Stderr))
			                              ^
engine/engine.go:480:20: avoid direct access to proto field runResp.ResultCode, use runResp.GetResultCode() instead (protogetter)
		resultCode = int(runResp.ResultCode)
		                 ^
engine/engine.go:529:12: avoid direct access to proto field output.Stderr, use output.GetStderr() instead (protogetter)
			Stderr: output.Stderr,
			        ^
engine/engine.go:530:12: avoid direct access to proto field output.Stdout, use output.GetStdout() instead (protogetter)
			Stdout: output.Stdout,
			        ^
engine/engine.go:562:12: avoid direct access to proto field output.Stdout, use output.GetStdout() instead (protogetter)
			Stdout: output.Stdout,
			        ^
engine/engine.go:563:12: avoid direct access to proto field output.Stderr, use output.GetStderr() instead (protogetter)
			Stderr: output.Stderr,
			        ^
engine/engine.go:612:65: non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
			return nil, fmt.Errorf("error marshaling value to JSON: %v", err)
			                                                             ^
engine/engine.go:600:2: error is not nil (line 583) but it returns nil (nilerr)
	return nil
	^
engine/engine_test.go:32:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(protoMeta))
	^
engine/engine_test.go:30:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
terraform/getter.go:326:28: response body must be closed (bodyclose)
	resp, err := httpClient.Do(req)
	                          ^
terraform/getter_test.go:142:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
terraform/getter_test.go:149:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
main.go:46:16: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	if err, ok := err.(*multierror.Error); ok {
	              ^
cli/commands/run-all/action_test.go:25:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(MissingCommand)
	         ^
terraform/cliconfig/provider_installation.go:139:10: Error return value of `encoding/json.Marshal` is not checked (errchkjson)
	b, _ := json.Marshal(method) //nolint:errcheck
	        ^
terraform/cliconfig/provider_installation.go:224:10: Error return value of `encoding/json.Marshal` is not checked (errchkjson)
	b, _ := json.Marshal(method) //nolint:errcheck
	        ^
terraform/cliconfig/provider_installation.go:309:10: Error return value of `encoding/json.Marshal` is not checked (errchkjson)
	b, _ := json.Marshal(method) //nolint:errcheck
	        ^
terraform/cliconfig/config_test.go:21:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
terraform/cliconfig/config_test.go:93:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
terraform/cliconfig/config_test.go:102:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
terraform/cliconfig/config_test.go:105:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
cli/commands/terragrunt-info/action.go:41:31: the given struct should be annotated with the `json` tag (musttag)
	b, err := json.MarshalIndent(group, "", "  ")
	                             ^
terraform/getproviders/package_authentication.go:246:5: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
	if err == openpgpErrors.ErrKeyExpired {
	   ^
terraform/getproviders/package_authentication.go:269:7: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
			if err == openpgpErrors.ErrUnknownIssuer {
			   ^
test/integration_test.go:1404:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(terraform.WorkingDirNotFound)
	         ^
test/integration_test.go:2086:21: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	parsedError, ok := errors.Unwrap(err).(config.DependencyDirNotFoundError)
	                   ^
test/integration_test.go:3903:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(codegen.GenerateFileRemoveError)
	         ^
test/integration_test.go:3970:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(codegen.GenerateFileExistsError)
	         ^
test/integration_test.go:4039:21: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	parsedError, ok := errors.Unwrap(err).(config.DuplicatedGenerateBlocksError)
	                   ^
test/integration_test.go:4056:21: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	parsedError, ok := errors.Unwrap(err).(config.DuplicatedGenerateBlocksError)
	                   ^
test/integration_test.go:4073:21: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	parsedError, ok := errors.Unwrap(err).(config.DuplicatedGenerateBlocksError)
	                   ^
test/integration_test.go:4166:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(codegen.GenerateFileExistsError)
	         ^
test/integration_test.go:4373:25: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, isTgVersionError := errors.Unwrap(err).(terraform.InvalidTerragruntVersion)
	                       ^
test/integration_test.go:4986:6: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error (errorlint)
		if err == iterator.Done {
		   ^
test/integration_test.go:5281:11: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	_, ok := errors.Unwrap(err).(runall.MissingCommand)
	         ^
test/integration_debug_test.go:71:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_include_test.go:58:54: the given struct should be annotated with the `json` tag (musttag)
			require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
			                                                  ^
test/integration_include_test.go:177:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_include_test.go:231:54: the given struct should be annotated with the `json` tag (musttag)
			require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
			                                                  ^
test/integration_include_test.go:267:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_local_dev_test.go:93:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_local_dev_test.go:118:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_registry_test.go:53:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_serial_test.go:332:52: the given struct should be annotated with the `json` tag (musttag)
			err_unmarshal := json.Unmarshal(stdout.Bytes(), &dat)
			                                                ^
test/integration_test.go:1498:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:1899:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:1933:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:1957:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2232:53: the given struct should be annotated with the `json` tag (musttag)
	errUnmarshal := json.Unmarshal(showStdout.Bytes(), &dat)
	                                                   ^
test/integration_test.go:2260:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2324:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal([]byte(stdout), &outputs))
	                                                  ^
test/integration_test.go:2338:51: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal([]byte(reout), &outputs))
	                                                 ^
test/integration_test.go:2379:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal([]byte(stdout), &outputs))
	                                                  ^
test/integration_test.go:2410:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2479:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2497:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2528:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2550:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2655:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2732:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2801:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2834:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2887:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:2922:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3016:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3282:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3312:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3344:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3396:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3437:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3469:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3505:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3571:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3613:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3636:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:3664:55: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(depStdout.Bytes(), &depOutputs))
	                                                     ^
test/integration_test.go:3683:56: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(rootStdout.Bytes(), &rootOutputs))
	                                                      ^
test/integration_test.go:3704:62: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(runAllRootStdout.Bytes(), &runAllRootOutputs))
	                                                            ^
test/integration_test.go:3715:61: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(runAllDepStdout.Bytes(), &runAllDepOutputs))
	                                                           ^
test/integration_test.go:3747:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:4023:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:4317:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal([]byte(stdout), &outputs))
	                                                  ^
test/integration_test.go:5086:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:5119:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:5973:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:6006:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:6053:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:6154:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:6334:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:6493:52: the given struct should be annotated with the `json` tag (musttag)
	require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
	                                                  ^
test/integration_test.go:7220:39: the given struct should be annotated with the `json` tag (musttag)
	err = json.Unmarshal(stdout.Bytes(), &output)
	                                     ^
test/integration_test.go:4811:3: error is not nil (line 4809) but it returns nil (nilerr)
		return nil, nil
		^
test/integration_catalog_test.go:31:2: len: use assert.Len (testifylint)
	assert.Equal(t, 4, len(modules))
	^
test/integration_catalog_test.go:67:2: len: use assert.Len (testifylint)
	assert.Equal(t, 1, len(cfg.Inputs))
	^
test/integration_catalog_test.go:106:2: len: use assert.Len (testifylint)
	assert.Equal(t, 1, len(cfg.Inputs))
	^
test/integration_download_test.go:398:2: empty: use assert.NotEmpty (testifylint)
	assert.Greater(t, len(includedModulesWithNone), 0)
	^
test/integration_include_test.go:270:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(
	^
test/integration_s3_encryption_test.go:47:2: len: use require.Len (testifylint)
	require.Equal(t, 1, len(resp.ServerSideEncryptionConfiguration.Rules))
	^
test/integration_s3_encryption_test.go:74:2: len: use require.Len (testifylint)
	require.Equal(t, 1, len(resp.ServerSideEncryptionConfiguration.Rules))
	^
test/integration_s3_encryption_test.go:111:2: len: use require.Len (testifylint)
	require.Equal(t, 1, len(resp.ServerSideEncryptionConfiguration.Rules))
	^
test/integration_s3_encryption_test.go:145:2: len: use require.Len (testifylint)
	require.Equal(t, 1, len(resp.ServerSideEncryptionConfiguration.Rules))
	^
test/integration_serial_test.go:513:2: len: use require.Len (testifylint)
	require.Equal(t, numberOfModules, len(matches))
	^
test/integration_serial_test.go:543:3: compares: use require.LessOrEqual (testifylint)
		require.True(t, difference <= maxDiffInSeconds, "Expected timing %d but got %f", expectedTimings[i], scaledTime)
		^
test/integration_serial_test.go:754:4: len: use assert.Len (testifylint)
			assert.Equal(t, 2, len(list))
			^
test/integration_test.go:1568:2: len: use assert.Len (testifylint)
	assert.Equal(t, 4, len(sleeps)) // 5 retries, so 4 sleeps
	^
test/integration_test.go:1871:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["bool"].Value, true)
	^
test/integration_test.go:1872:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_bool"].Value, []interface{}{true, false})
	^
test/integration_test.go:1873:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_number"].Value, []interface{}{1.0, 2.0, 3.0})
	^
test/integration_test.go:1874:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_string"].Value, []interface{}{"a", "b", "c"})
	^
test/integration_test.go:1875:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_bool"].Value, map[string]interface{}{"foo": true, "bar": false, "baz": true})
	^
test/integration_test.go:1876:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_number"].Value, map[string]interface{}{"foo": 42.0, "bar": 12345.0})
	^
test/integration_test.go:1877:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_string"].Value, map[string]interface{}{"foo": "bar"})
	^
test/integration_test.go:1878:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["number"].Value, 42.0)
	^
test/integration_test.go:1879:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["object"].Value, map[string]interface{}{"list": []interface{}{1.0, 2.0, 3.0}, "map": map[string]interface{}{"foo": "bar"}, "num": 42.0, "str": "string"})
	^
test/integration_test.go:1880:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["string"].Value, "string")
	^
test/integration_test.go:1881:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["from_env"].Value, "default")
	^
test/integration_test.go:1935:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["data"].Value, "Hello world\n")
	^
test/integration_test.go:1936:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["answer"].Value, float64(42))
	^
test/integration_test.go:2088:2: len: use assert.Len (testifylint)
	assert.True(t, len(parsedError.Dir) == 1)
	^
test/integration_test.go:2237:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, dat.IamRole, "")
	^
test/integration_test.go:2261:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test1"].Value, "003")
	^
test/integration_test.go:2262:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test2"].Value, "1.00")
	^
test/integration_test.go:2263:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test3"].Value, "0ba")
	^
test/integration_test.go:2345:3: empty: use assert.NotEmpty (testifylint)
		assert.Greater(t, len(matches), 0)
		^
test/integration_test.go:2411:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, int(outputs["z"].Value.(float64)), 42)
	^
test/integration_test.go:2480:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["truth"].Value, "The answer is 0")
	^
test/integration_test.go:2498:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["truth"].Value, "The answer is 0")
	^
test/integration_test.go:2529:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["truth"].Value, "The answer is 0")
	^
test/integration_test.go:2551:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["truth"].Value, "The answer is 42")
	^
test/integration_test.go:2657:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test_output1_from_parent"].Value, "value1")
	^
test/integration_test.go:2658:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test_output2_from_parent"].Value, "fake-data2")
	^
test/integration_test.go:2734:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test_output1_from_parent"].Value, "value1")
	^
test/integration_test.go:2735:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["test_output2_from_parent"].Value, "value2")
	^
test/integration_test.go:2807:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_map_map_string_from_parent"].Value, "not_in_state", "abc", "value"))
	^
test/integration_test.go:2809:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_list_string"].Value, "1"))
	^
test/integration_test.go:2840:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_map_map_string_from_parent"].Value, "not_in_state", "abc", "value"))
	^
test/integration_test.go:2842:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_list_string"].Value, "1"))
	^
test/integration_test.go:2893:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_map_map_string_from_parent"].Value, "not_in_state", "abc", "value"))
	^
test/integration_test.go:2895:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_list_string"].Value, "1"))
	^
test/integration_test.go:2931:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, nil, util.MustWalkTerraformOutput(outputs["test_output_list_string"].Value, "1"))
	^
test/integration_test.go:3018:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["bool"].Value, true)
	^
test/integration_test.go:3019:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_bool"].Value, []interface{}{true, false})
	^
test/integration_test.go:3020:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_number"].Value, []interface{}{1.0, 2.0, 3.0})
	^
test/integration_test.go:3021:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_string"].Value, []interface{}{"a", "b", "c"})
	^
test/integration_test.go:3022:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_bool"].Value, map[string]interface{}{"foo": true, "bar": false, "baz": true})
	^
test/integration_test.go:3023:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_number"].Value, map[string]interface{}{"foo": 42.0, "bar": 12345.0})
	^
test/integration_test.go:3024:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_string"].Value, map[string]interface{}{"foo": "bar"})
	^
test/integration_test.go:3025:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["number"].Value, 42.0)
	^
test/integration_test.go:3026:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["object"].Value, map[string]interface{}{"list": []interface{}{1.0, 2.0, 3.0}, "map": map[string]interface{}{"foo": "bar"}, "num": 42.0, "str": "string"})
	^
test/integration_test.go:3027:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["string"].Value, "string")
	^
test/integration_test.go:3028:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["from_env"].Value, "default")
	^
test/integration_test.go:3508:2: expected-actual: need to reverse actual and expected values (testifylint)
	require.Equal(t, platform.Value, runtime.GOOS)
	^
test/integration_test.go:3573:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["bool"].Value, true)
	^
test/integration_test.go:3574:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_bool"].Value, []interface{}{true, false})
	^
test/integration_test.go:3575:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_number"].Value, []interface{}{1.0, 2.0, 3.0})
	^
test/integration_test.go:3576:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["list_string"].Value, []interface{}{"a", "b", "c"})
	^
test/integration_test.go:3577:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_bool"].Value, map[string]interface{}{"foo": true, "bar": false, "baz": true})
	^
test/integration_test.go:3578:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_number"].Value, map[string]interface{}{"foo": 42.0, "bar": 12345.0})
	^
test/integration_test.go:3579:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["map_string"].Value, map[string]interface{}{"foo": "bar"})
	^
test/integration_test.go:3580:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["number"].Value, 42.0)
	^
test/integration_test.go:3581:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["object"].Value, map[string]interface{}{"list": []interface{}{1.0, 2.0, 3.0}, "map": map[string]interface{}{"foo": "bar"}, "num": 42.0, "str": "string"})
	^
test/integration_test.go:3582:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["string"].Value, "string")
	^
test/integration_test.go:3583:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["from_env"].Value, "default")
	^
test/integration_test.go:3615:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["bar"].Value, "hello world")
	^
test/integration_test.go:3638:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["data"].Value, "default value")
	^
test/integration_test.go:3750:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["terraform_binary"].Value, "terragrunt")
	^
test/integration_test.go:3751:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["terraform_version_constraint"].Value, "= 0.12.20")
	^
test/integration_test.go:3752:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["terragrunt_version_constraint"].Value, "= 0.23.18")
	^
test/integration_test.go:3753:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["download_dir"].Value, ".terragrunt-cache")
	^
test/integration_test.go:3754:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["iam_role"].Value, "TerragruntIAMRole")
	^
test/integration_test.go:3755:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["skip"].Value, "true")
	^
test/integration_test.go:3756:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["prevent_destroy"].Value, "true")
	^
test/integration_test.go:3761:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, localstgOut, map[string]interface{}{"the_answer": float64(42)})
	^
test/integration_test.go:3764:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, inputsOut, map[string]interface{}{"doc": "Emmett Brown"})
	^
test/integration_test.go:4025:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["text"].Value, "Hello, World!")
	^
test/integration_test.go:4041:2: len: use assert.Len (testifylint)
	assert.True(t, len(parsedError.BlockName) == 1)
	^
test/integration_test.go:4058:2: len: use assert.Len (testifylint)
	assert.True(t, len(parsedError.BlockName) == 1)
	^
test/integration_test.go:4075:2: len: use assert.Len (testifylint)
	assert.True(t, len(parsedError.BlockName) == 2)
	^
test/integration_test.go:4319:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["foo-app1"].Value, "app1-bar")
	^
test/integration_test.go:4320:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["foo-app2"].Value, "app2-bar")
	^
test/integration_test.go:4321:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["foo-app3"].Value, "app3-bar")
	^
test/integration_test.go:5088:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_bool_array"].Value, []interface{}{true, false})
	^
test/integration_test.go:5089:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_string_array"].Value, []interface{}{"example_value1", "example_value2"})
	^
test/integration_test.go:5090:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["json_number"].Value, 1234.56789)
	^
test/integration_test.go:5091:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_string"].Value, "example_value")
	^
test/integration_test.go:5092:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_hello"].Value, "Welcome to SOPS! Edit this file as you please!")
	^
test/integration_test.go:5093:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_bool_array"].Value, []interface{}{true, false})
	^
test/integration_test.go:5094:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_string_array"].Value, []interface{}{"example_value1", "example_value2"})
	^
test/integration_test.go:5095:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["yaml_number"].Value, 1234.5679)
	^
test/integration_test.go:5096:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_string"].Value, "example_value")
	^
test/integration_test.go:5097:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_hello"].Value, "Welcome to SOPS! Edit this file as you please!")
	^
test/integration_test.go:5098:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["text_value"].Value, "Raw Secret Example")
	^
test/integration_test.go:5121:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_bool_array"].Value, []interface{}{true, false})
	^
test/integration_test.go:5122:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_string_array"].Value, []interface{}{"example_value1", "example_value2"})
	^
test/integration_test.go:5123:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["json_number"].Value, 1234.56789)
	^
test/integration_test.go:5124:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_string"].Value, "example_value")
	^
test/integration_test.go:5125:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["json_hello"].Value, "Welcome to SOPS! Edit this file as you please!")
	^
test/integration_test.go:5126:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_bool_array"].Value, []interface{}{true, false})
	^
test/integration_test.go:5127:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_string_array"].Value, []interface{}{"example_value1", "example_value2"})
	^
test/integration_test.go:5128:2: float-compare: use assert.InEpsilon (or InDelta) (testifylint)
	assert.Equal(t, outputs["yaml_number"].Value, 1234.5679)
	^
test/integration_test.go:5129:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_string"].Value, "example_value")
	^
test/integration_test.go:5130:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["yaml_hello"].Value, "Welcome to SOPS! Edit this file as you please!")
	^
test/integration_test.go:5131:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["text_value"].Value, "Raw Secret Example")
	^
test/integration_test.go:6155:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, int(outputs["z"].Value.(float64)), 42)
	^
test/integration_test.go:6496:2: nil-compare: use assert.Nil (testifylint)
	assert.Equal(t, outputs["output1"].Value, nil)
	^
test/integration_test.go:6497:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, outputs["output2"].Value, "variable 2")
	^
test/integration_test.go:7242:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(list))
	^
test/integration_test.go:7269:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(list))
	^
test/integration_test.go:7282:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(list))
	^
test/integration_test.go:7302:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(list))
	^
test/integration_test.go:7335:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(list))
	^
test/integration_test.go:7347:2: len: use assert.Len (testifylint)
	assert.Equal(t, 2, len(list))
	^
test/integration_test.go:3407:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6277:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:7037:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:4384:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:5180:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_serial_test.go:683:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_serial_test.go:695:3: require-error: for error assertions use require (testifylint)
		assert.NoErrorf(t, err, "Failed to parse json %s", jsonString)
		^
test/integration_test.go:1593:4: require-error: for error assertions use require (testifylint)
			assert.Error(t, err)
			^
test/integration_test.go:4371:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:634:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, beforeErr)
	^
test/integration_test.go:4402:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:1453:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:3595:2: require-error: for error assertions use require (testifylint)
	assert.NoError(
	^
test/integration_test.go:1467:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2754:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:3099:4: require-error: for error assertions use require (testifylint)
			assert.Error(t, err)
			^
test/integration_test.go:2678:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:617:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, beforeErr)
	^
test/integration_test.go:953:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:965:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:969:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6751:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, os.Mkdir(filepath.ToSlash("/tmp/external-46521694"), 0755))
	^
test/integration_test.go:6767:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, w.Close())
	^
test/integration_test.go:1008:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:476:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6556:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6563:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2792:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2878:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5165:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_serial_test.go:722:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
test/integration_serial_test.go:725:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
test/integration_test.go:2569:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2577:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_scaffold_test.go:187:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_scaffold_test.go:191:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1537:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:5850:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5853:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2515:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2537:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_download_test.go:372:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
test/integration_serial_test.go:782:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2145:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5753:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5756:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5778:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5781:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1751:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, runTerragruntCommand(t, fmt.Sprintf("terragrunt apply -auto-approve --terragrunt-working-dir %s", TEST_FIXTURE_PREVENT_DESTROY_NOT_SET), os.Stdout, os.Stderr))
	^
test/integration_test.go:5214:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5216:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5223:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1430:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_serial_test.go:624:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1385:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:7152:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_download_test.go:160:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:7013:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
test/integration_test.go:6966:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
test/integration_test.go:2825:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1549:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5667:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5670:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2466:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2484:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5899:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5902:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5924:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:5927:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:82:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:85:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:96:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:102:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:762:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2773:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_catalog_test.go:46:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:57:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:63:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2633:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2641:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1513:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:5943:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6910:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6919:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:6248:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_serial_test.go:333:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err_unmarshal)
			^
test/integration_test.go:6820:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:6824:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:6828:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:6207:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2227:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2233:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, errUnmarshal)
	^
test/integration_test.go:1480:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2948:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2959:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2968:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2976:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2062:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:5009:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:725:2: require-error: for error assertions use require (testifylint)
	assert.ErrorContains(t, err, "executable file not found in $PATH")
	^
test/integration_test.go:744:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, beforeOverriddenParentException)
	^
test/integration_test.go:791:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2209:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:7057:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:7069:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_serial_test.go:646:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_serial_test.go:662:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:1684:4: require-error: for error assertions use require (testifylint)
			assert.ErrorIs(t, err, testCase.expectedErr)
			^
test/integration_test.go:7104:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:7113:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_download_test.go:305:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
test/integration_test.go:6886:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6889:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6892:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:7185:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2187:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6171:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:1853:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:7216:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2166:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2998:2: require-error: for error assertions use require (testifylint)
	assert.NoError(
	^
test/integration_test.go:4282:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:490:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2913:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:3553:2: require-error: for error assertions use require (testifylint)
	assert.NoError(
	^
test/integration_test.go:2712:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2720:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_catalog_test.go:30:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_serial_test.go:879:5: require-error: for error assertions use require (testifylint)
				assert.NoError(t, err)
				^
test/integration_serial_test.go:888:6: require-error: for error assertions use require (testifylint)
					assert.NoError(t, err)
					^
test/integration_test.go:1442:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:6845:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:6849:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:6853:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
test/integration_test.go:6861:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1237:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:1418:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, exitCodeErr)
	^
test/integration_test.go:1567:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2858:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_serial_test.go:607:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6460:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6223:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_catalog_test.go:118:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:6580:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2448:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2602:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
test/integration_test.go:2610:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:1526:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
test/integration_test.go:2426:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
pkg/cli/errors.go:76:20: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	if exitErr, ok := err.(cli.ExitCoder); ok {
	                  ^
shell/error_explainer.go:36:21: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
	multiErrors, ok := err.(*multierror.Error)
	                   ^
shell/error_explainer.go:50:23: type assertion on error will fail on wrapped errors. Use errors.As to check for specific errors (errorlint)
		processError, ok := originalError.(util.ProcessExecutionError)
		                    ^
shell/run_shell_cmd_output_test.go:85:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Should have no error")
	^
shell/run_shell_cmd_test.go:20:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
shell/run_shell_cmd_test.go:23:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, cmd)
	^
shell/run_shell_cmd_test.go:33:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
shell/run_shell_cmd_test.go:42:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, cmd)
	^
shell/run_shell_cmd_test.go:45:2: len: use assert.Len (testifylint)
	assert.True(t, len(stderr.String()) == 0, "No output to stderr")
	^
shell/run_shell_cmd_test.go:55:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, cmd)
	^
shell/run_shell_cmd_test.go:58:2: len: use assert.Len (testifylint)
	assert.True(t, len(stdout.String()) == 0, "No output to stdout")
	^
shell/run_shell_cmd_test.go:83:2: empty: use assert.Empty (testifylint)
	assert.Equal(t, 0, len(c.Cache))
	^
shell/run_shell_cmd_test.go:92:2: len: use assert.Len (testifylint)
	assert.Equal(t, 1, len(c.Cache))
	^
shell/run_shell_cmd_unix_test.go:54:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
shell/run_shell_cmd_unix_test.go:76:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, retCode, expectedWait)
	^
shell/run_shell_cmd_unix_test.go:88:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
shell/run_shell_cmd_unix_test.go:124:2: compares: use assert.LessOrEqual (testifylint)
	assert.True(t, retCode <= interrupts, "Subprocess received wrong number of signals")
	^
shell/run_shell_cmd_unix_test.go:125:2: expected-actual: need to reverse actual and expected values (testifylint)
	assert.Equal(t, retCode, expectedInterrupts, "Subprocess didn't receive multiple signals")
	^
shell/run_shell_cmd_unix_test.go:132:2: error-nil: use assert.NoError (testifylint)
	assert.Nil(t, err, "Unexpected error creating NewTerragruntOptionsForTest: %v", err)
	^
shell/run_shell_cmd_unix_test.go:31:4: require-error: for error assertions use require (testifylint)
			assert.NoError(t, err)
			^
shell/run_shell_cmd_unix_test.go:33:4: require-error: for error assertions use require (testifylint)
			assert.Error(t, err)
			^
shell/run_shell_cmd_unix_test.go:36:3: require-error: for error assertions use require (testifylint)
		assert.NoError(t, err)
		^
shell/run_shell_cmd_unix_test.go:43:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, retErr, "An error was expected")
	^
shell/run_shell_cmd_unix_test.go:121:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
shell/run_shell_cmd_unix_test.go:123:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^
shell/run_shell_cmd_unix_test.go:73:2: require-error: for error assertions use require (testifylint)
	assert.Error(t, err)
	^
shell/run_shell_cmd_unix_test.go:75:2: require-error: for error assertions use require (testifylint)
	assert.NoError(t, err)
	^

@yhakbar yhakbar marked this pull request as ready for review August 11, 2024 14:18
Base automatically changed from chore/bumping-golangci-lint to master August 11, 2024 15:19
Copy link

sonarcloud bot commented Aug 11, 2024

@yhakbar yhakbar merged commit cb78603 into master Aug 12, 2024
4 checks passed
@yhakbar yhakbar deleted the chore/adding-golangci-bugs-lints branch August 12, 2024 17:52
akrantz01 pushed a commit to akrantz01/homelab that referenced this pull request Aug 13, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[gruntwork-io/terragrunt](https://github.com/gruntwork-io/terragrunt)
| patch | `v0.66.3` -> `v0.66.5` |
|
[gruntwork-io/terragrunt](https://github.com/gruntwork-io/terragrunt)
| patch | `0.66.3` -> `0.66.5` |

---

### Release Notes

<details>
<summary>gruntwork-io/terragrunt (gruntwork-io/terragrunt)</summary>

###
[`v0.66.5`](https://github.com/gruntwork-io/terragrunt/releases/tag/v0.66.5)

[Compare
Source](https://github.com/gruntwork-io/terragrunt/compare/v0.66.4...v0.66.5)

#### What's Changed

- chore: Adding `bugs` Lint Preset by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3334
- chore: Adding `performance` Lint Preset by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3336

**Full Changelog**:
gruntwork-io/terragrunt@v0.66.4...v0.66.5

###
[`v0.66.4`](https://github.com/gruntwork-io/terragrunt/releases/tag/v0.66.4)

[Compare
Source](https://github.com/gruntwork-io/terragrunt/compare/v0.66.3...v0.66.4)

#### What's Changed

- feat: Add stale issue workflow by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3329
- feat: Add configuration options for AWS S3 server access logging by
[@&#8203;findmyname666](https://github.com/findmyname666) in
[gruntwork-io/terragrunt#3006
- fix: Fixing command not found error by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3330
- fix: Fixing stale action by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3332
- fix: Fix CICD tests for mocks by
[@&#8203;denis256](https://github.com/denis256) in
[gruntwork-io/terragrunt#3335
- chore: Bumping `golangci-lint` to `v1.59.1` by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3333
- chore: Hiding Mocks Tests by
[@&#8203;yhakbar](https://github.com/yhakbar) in
[gruntwork-io/terragrunt#3331

#### New Contributors

- [@&#8203;findmyname666](https://github.com/findmyname666) made their
first contribution in
[gruntwork-io/terragrunt#3006

**Full Changelog**:
gruntwork-io/terragrunt@v0.66.3...v0.66.4

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View the
[repository job
log](https://developer.mend.io/github/akrantz01/homelab).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yMC4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants