Replace common.ToPtr with Go 1.26 builtin new and add go fix to CI

This commit is contained in:
2026-02-13 18:56:10 +04:00
parent 7cb49195f8
commit 3be8ff218c
6 changed files with 28 additions and 21 deletions

View File

@@ -17,6 +17,10 @@ jobs:
- uses: actions/setup-go@v6 - uses: actions/setup-go@v6
with: with:
go-version: 1.26.0 go-version: 1.26.0
- name: go fix
run: |
go fix ./...
git diff --exit-code
- name: golangci-lint - name: golangci-lint
uses: golangci/golangci-lint-action@v9 uses: golangci/golangci-lint-action@v9
with: with:

View File

@@ -11,16 +11,22 @@ tasks:
desc: Run fmt, tidy, and lint. desc: Run fmt, tidy, and lint.
cmds: cmds:
- task: fmt - task: fmt
- task: fix
- task: tidy - task: tidy
- task: lint - task: lint
fmt: fmt:
desc: Run linters desc: Run format
deps: deps:
- install-golangci-lint - install-golangci-lint
cmds: cmds:
- "{{.GOLANGCI}} fmt" - "{{.GOLANGCI}} fmt"
fix:
desc: Run go fix
cmds:
- go fix ./...
tidy: tidy:
desc: Run go mod tidy. desc: Run go mod tidy.
cmds: cmds:

View File

@@ -10,7 +10,6 @@ import (
"go.aykhans.me/sarin/internal/types" "go.aykhans.me/sarin/internal/types"
versionpkg "go.aykhans.me/sarin/internal/version" versionpkg "go.aykhans.me/sarin/internal/version"
"go.aykhans.me/utils/common"
) )
const cliUsageText = `Usage: const cliUsageText = `Usage:
@@ -202,23 +201,23 @@ func (parser ConfigCLIParser) Parse() (*Config, error) {
switch flagVar.Name { switch flagVar.Name {
// General config // General config
case "show-config", "s": case "show-config", "s":
config.ShowConfig = common.ToPtr(showConfig) config.ShowConfig = new(showConfig)
case "config-file", "f": case "config-file", "f":
for _, configFile := range configFiles { for _, configFile := range configFiles {
config.Files = append(config.Files, *types.ParseConfigFile(configFile)) config.Files = append(config.Files, *types.ParseConfigFile(configFile))
} }
case "concurrency", "c": case "concurrency", "c":
config.Concurrency = common.ToPtr(concurrency) config.Concurrency = new(concurrency)
case "requests", "r": case "requests", "r":
config.Requests = common.ToPtr(requestCount) config.Requests = new(requestCount)
case "duration", "d": case "duration", "d":
config.Duration = common.ToPtr(duration) config.Duration = new(duration)
case "quiet", "q": case "quiet", "q":
config.Quiet = common.ToPtr(quiet) config.Quiet = new(quiet)
case "output", "o": case "output", "o":
config.Output = common.ToPtr(ConfigOutputType(output)) config.Output = new(ConfigOutputType(output))
case "dry-run", "z": case "dry-run", "z":
config.DryRun = common.ToPtr(dryRun) config.DryRun = new(dryRun)
// Request config // Request config
case "url", "U": case "url", "U":
@@ -251,9 +250,9 @@ func (parser ConfigCLIParser) Parse() (*Config, error) {
case "values", "V": case "values", "V":
config.Values = append(config.Values, values...) config.Values = append(config.Values, values...)
case "timeout", "T": case "timeout", "T":
config.Timeout = common.ToPtr(timeout) config.Timeout = new(timeout)
case "insecure", "I": case "insecure", "I":
config.Insecure = common.ToPtr(insecure) config.Insecure = new(insecure)
case "lua": case "lua":
config.Lua = append(config.Lua, luaScripts...) config.Lua = append(config.Lua, luaScripts...)
case "js": case "js":

View File

@@ -356,26 +356,26 @@ func (config *Config) SetDefaults() {
config.Timeout = &Defaults.RequestTimeout config.Timeout = &Defaults.RequestTimeout
} }
if config.Concurrency == nil { if config.Concurrency == nil {
config.Concurrency = common.ToPtr(Defaults.Concurrency) config.Concurrency = new(Defaults.Concurrency)
} }
if config.ShowConfig == nil { if config.ShowConfig == nil {
config.ShowConfig = common.ToPtr(Defaults.ShowConfig) config.ShowConfig = new(Defaults.ShowConfig)
} }
if config.Quiet == nil { if config.Quiet == nil {
config.Quiet = common.ToPtr(Defaults.Quiet) config.Quiet = new(Defaults.Quiet)
} }
if config.Insecure == nil { if config.Insecure == nil {
config.Insecure = common.ToPtr(Defaults.Insecure) config.Insecure = new(Defaults.Insecure)
} }
if config.DryRun == nil { if config.DryRun == nil {
config.DryRun = common.ToPtr(Defaults.DryRun) config.DryRun = new(Defaults.DryRun)
} }
if !config.Headers.Has("User-Agent") { if !config.Headers.Has("User-Agent") {
config.Headers = append(config.Headers, types.Header{Key: "User-Agent", Value: []string{Defaults.UserAgent}}) config.Headers = append(config.Headers, types.Header{Key: "User-Agent", Value: []string{Defaults.UserAgent}})
} }
if config.Output == nil { if config.Output == nil {
config.Output = common.ToPtr(Defaults.Output) config.Output = new(Defaults.Output)
} }
} }

View File

@@ -7,7 +7,6 @@ import (
"time" "time"
"go.aykhans.me/sarin/internal/types" "go.aykhans.me/sarin/internal/types"
"go.aykhans.me/utils/common"
utilsParse "go.aykhans.me/utils/parser" utilsParse "go.aykhans.me/utils/parser"
) )
@@ -67,7 +66,7 @@ func (parser ConfigENVParser) Parse() (*Config, error) {
} }
if output := parser.getEnv("OUTPUT"); output != "" { if output := parser.getEnv("OUTPUT"); output != "" {
config.Output = common.ToPtr(ConfigOutputType(output)) config.Output = new(ConfigOutputType(output))
} }
if insecure := parser.getEnv("INSECURE"); insecure != "" { if insecure := parser.getEnv("INSECURE"); insecure != "" {

View File

@@ -12,7 +12,6 @@ import (
"time" "time"
"go.aykhans.me/sarin/internal/types" "go.aykhans.me/sarin/internal/types"
"go.aykhans.me/utils/common"
"go.yaml.in/yaml/v4" "go.yaml.in/yaml/v4"
) )
@@ -241,7 +240,7 @@ func (parser ConfigFileParser) ParseYAML(data []byte) (*Config, error) {
config.Quiet = parsedData.Quiet config.Quiet = parsedData.Quiet
if parsedData.Output != nil { if parsedData.Output != nil {
config.Output = common.ToPtr(ConfigOutputType(*parsedData.Output)) config.Output = new(ConfigOutputType(*parsedData.Output))
} }
config.Insecure = parsedData.Insecure config.Insecure = parsedData.Insecure