Some checks failed
		
		
	
	Release a tag / release (push) Has been cancelled
				Release a tag / docker-release (map[Dockerfile:build/Dockerfile.alpine]) (push) Has been cancelled
				Release a tag / docker-release (map[Dockerfile:build/Dockerfile]) (push) Has been cancelled
				* feat: disable unsupported go1.18 govet analyzers * fix: inactivate interfacer with go1.18
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package config
 | 
						|
 | 
						|
import (
 | 
						|
	"os"
 | 
						|
	"strings"
 | 
						|
 | 
						|
	hcversion "github.com/hashicorp/go-version"
 | 
						|
	"github.com/ldez/gomoddirectives"
 | 
						|
)
 | 
						|
 | 
						|
// Config encapsulates the config data specified in the golangci yaml config file.
 | 
						|
type Config struct {
 | 
						|
	cfgDir string // The directory containing the golangci config file.
 | 
						|
	Run    Run
 | 
						|
 | 
						|
	Output Output
 | 
						|
 | 
						|
	LintersSettings LintersSettings `mapstructure:"linters-settings"`
 | 
						|
	Linters         Linters
 | 
						|
	Issues          Issues
 | 
						|
	Severity        Severity
 | 
						|
	Version         Version
 | 
						|
 | 
						|
	InternalCmdTest bool `mapstructure:"internal-cmd-test"` // Option is used only for testing golangci-lint command, don't use it
 | 
						|
	InternalTest    bool // Option is used only for testing golangci-lint code, don't use it
 | 
						|
}
 | 
						|
 | 
						|
// GetConfigDir returns the directory that contains golangci config file.
 | 
						|
func (c *Config) GetConfigDir() string {
 | 
						|
	return c.cfgDir
 | 
						|
}
 | 
						|
 | 
						|
func NewDefault() *Config {
 | 
						|
	return &Config{
 | 
						|
		LintersSettings: defaultLintersSettings,
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
type Version struct {
 | 
						|
	Format string `mapstructure:"format"`
 | 
						|
}
 | 
						|
 | 
						|
func IsGreaterThanOrEqualGo118(v string) bool {
 | 
						|
	v1, err := hcversion.NewVersion(strings.TrimPrefix(v, "go"))
 | 
						|
	if err != nil {
 | 
						|
		return false
 | 
						|
	}
 | 
						|
 | 
						|
	limit, err := hcversion.NewVersion("1.18")
 | 
						|
	if err != nil {
 | 
						|
		return false
 | 
						|
	}
 | 
						|
 | 
						|
	return v1.GreaterThanOrEqual(limit)
 | 
						|
}
 | 
						|
 | 
						|
func DetectGoVersion() string {
 | 
						|
	file, _ := gomoddirectives.GetModuleFile()
 | 
						|
 | 
						|
	if file != nil && file.Go != nil && file.Go.Version != "" {
 | 
						|
		return file.Go.Version
 | 
						|
	}
 | 
						|
 | 
						|
	v := os.Getenv("GOVERSION")
 | 
						|
	if v != "" {
 | 
						|
		return v
 | 
						|
	}
 | 
						|
 | 
						|
	return "1.17"
 | 
						|
}
 |