diff --git a/Makefile b/Makefile index 824bfac10c..a8097a606f 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ XGO_VERSION := go-1.25.x AIR_PACKAGE ?= github.com/air-verse/air@v1 EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/v3/cmd/editorconfig-checker@v3 GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.9.2 -GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.2 +GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.11.4 GXZ_PACKAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.15 MISSPELL_PACKAGE ?= github.com/golangci/misspell/cmd/misspell@v0.8.0 SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.33.1 diff --git a/modules/actions/jobparser/evaluator.go b/modules/actions/jobparser/evaluator.go index 363cb2c18b..b320095071 100644 --- a/modules/actions/jobparser/evaluator.go +++ b/modules/actions/jobparser/evaluator.go @@ -135,7 +135,7 @@ func rewriteSubExpression(in string, forceFormat bool) (string, error) { exprStart := -1 strStart := -1 var results []string - formatOut := "" + var formatOut strings.Builder for pos < len(in) { if strStart > -1 { matches := strPattern.FindStringIndex(in[pos:]) @@ -158,7 +158,7 @@ func rewriteSubExpression(in string, forceFormat bool) (string, error) { } if exprEnd > -1 { - formatOut += fmt.Sprintf("{%d}", len(results)) + fmt.Fprintf(&formatOut, "{%d}", len(results)) results = append(results, strings.TrimSpace(in[exprStart:pos+exprEnd])) pos += exprEnd + 2 exprStart = -1 @@ -170,20 +170,20 @@ func rewriteSubExpression(in string, forceFormat bool) (string, error) { } else { exprStart = strings.Index(in[pos:], "${{") if exprStart != -1 { - formatOut += escapeFormatString(in[pos : pos+exprStart]) + formatOut.WriteString(escapeFormatString(in[pos : pos+exprStart])) exprStart = pos + exprStart + 3 pos = exprStart } else { - formatOut += escapeFormatString(in[pos:]) + formatOut.WriteString(escapeFormatString(in[pos:])) pos = len(in) } } } - if len(results) == 1 && formatOut == "{0}" && !forceFormat { + if len(results) == 1 && formatOut.String() == "{0}" && !forceFormat { return in, nil } - out := fmt.Sprintf("format('%s', %s)", strings.ReplaceAll(formatOut, "'", "''"), strings.Join(results, ", ")) + out := fmt.Sprintf("format('%s', %s)", strings.ReplaceAll(formatOut.String(), "'", "''"), strings.Join(results, ", ")) return out, nil } diff --git a/modules/test/logchecker.go b/modules/test/logchecker.go index 829f735c7c..387b4f3fc5 100644 --- a/modules/test/logchecker.go +++ b/modules/test/logchecker.go @@ -53,11 +53,11 @@ func (lc *LogChecker) checkLogEvent(event *log.EventFormatted) { } } -var checkerIndex int64 +var checkerIndex atomic.Int64 func NewLogChecker(namePrefix string) (logChecker *LogChecker, cancel func()) { logger := log.GetManager().GetLogger(namePrefix) - newCheckerIndex := atomic.AddInt64(&checkerIndex, 1) + newCheckerIndex := checkerIndex.Add(1) writerName := namePrefix + "-" + strconv.FormatInt(newCheckerIndex, 10) lc := &LogChecker{} diff --git a/modules/util/timer_test.go b/modules/util/timer_test.go index 602800c248..1f9a4ac586 100644 --- a/modules/util/timer_test.go +++ b/modules/util/timer_test.go @@ -12,19 +12,19 @@ import ( ) func TestDebounce(t *testing.T) { - var c int64 + var c atomic.Int64 d := Debounce(50 * time.Millisecond) - d(func() { atomic.AddInt64(&c, 1) }) - assert.EqualValues(t, 0, atomic.LoadInt64(&c)) - d(func() { atomic.AddInt64(&c, 1) }) - d(func() { atomic.AddInt64(&c, 1) }) + d(func() { c.Add(1) }) + assert.EqualValues(t, 0, c.Load()) + d(func() { c.Add(1) }) + d(func() { c.Add(1) }) time.Sleep(100 * time.Millisecond) - assert.EqualValues(t, 1, atomic.LoadInt64(&c)) - d(func() { atomic.AddInt64(&c, 1) }) - assert.EqualValues(t, 1, atomic.LoadInt64(&c)) - d(func() { atomic.AddInt64(&c, 1) }) - d(func() { atomic.AddInt64(&c, 1) }) - d(func() { atomic.AddInt64(&c, 1) }) + assert.EqualValues(t, 1, c.Load()) + d(func() { c.Add(1) }) + assert.EqualValues(t, 1, c.Load()) + d(func() { c.Add(1) }) + d(func() { c.Add(1) }) + d(func() { c.Add(1) }) time.Sleep(100 * time.Millisecond) - assert.EqualValues(t, 2, atomic.LoadInt64(&c)) + assert.EqualValues(t, 2, c.Load()) } diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go index e8b0cbd641..dae2c1c3c5 100644 --- a/tests/integration/integration_test.go +++ b/tests/integration/integration_test.go @@ -246,13 +246,13 @@ func loginUserWithPassword(t testing.TB, userName, password string) *TestSession } // token has to be unique this counter take care of -var tokenCounter int64 +var tokenCounter atomic.Int64 // getTokenForLoggedInUser returns a token for a logged-in user. func getTokenForLoggedInUser(t testing.TB, session *TestSession, scopes ...auth.AccessTokenScope) string { t.Helper() urlValues := url.Values{} - urlValues.Add("name", fmt.Sprintf("api-testing-token-%d", atomic.AddInt64(&tokenCounter, 1))) + urlValues.Add("name", fmt.Sprintf("api-testing-token-%d", tokenCounter.Add(1))) for _, scope := range scopes { urlValues.Add("scope-dummy", string(scope)) // it only needs to start with "scope-" to be accepted }