Uh oh!
There was an error while loading. Please reload this page.
chore(go): update go version - #8599
Conversation
sanjeevpenupala
commented
Oct 3, 2025
This PR looks good to me. If possible, can you resolve the version issue with the |
Another issue: When running Do we need a higher version than Go 1.22? The last |
c0a09c8 to
258e964Compareb026f34 to
281fe9fComparepetkostas
commented
Oct 9, 2025
@spenpal going to |
klesh
left a comment
There was a problem hiding this comment.
LGTM. Feel free to merge it when ready.
sanjeevpenupala
commented
Oct 14, 2025
Sorry for the late reply. @klesh Is If it is, @petkostas we might need to update to Go 1.24 or downgrade |
- Updates backend to GO version 1.22 - Updates devops to GO version 1.22 - Updates mockery to version 2.43.0
- Update to v1.24
2295488 to
3dd2fa4Compare- Bump golangci-lint for GO v1.24
3dd2fa4 to
a9ec769Comparepetkostas
commented
Oct 15, 2025
@spenpal Updated to |
@petkostas This PR looks good to me now. Thanks for your hard work! EDIT: I lied. I am unable to run EDIT 2: I asked AI to upgrade the Here is the upgraded # Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version 2.0# (the "License"); you may not use this file except in compliance with# the License. You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.#version: "2"# https://golangci-lint.run/usage/linters/linters:
# Start with standard linters (enabled by default)default: standardenable:
# Additional recommended linters for production code
- bodyclose # checks whether HTTP response body is closed
- copyloopvar # detects loop variable issues (Go 1.22+)
- errcheck # checks for unchecked errors
- errorlint # finds code that causes problems with Go 1.13+ error wrapping
- gocritic # provides diagnostics that check for bugs, performance and style
- govet # reports suspicious constructs
- ineffassign # detects unused assignments
- makezero # finds slice declarations with non-zero initial length
- misspell # finds commonly misspelled English words
- nolintlint # reports ill-formed or insufficient nolint directives
- revive # fast, configurable, extensible, flexible linter
- staticcheck # set of rules from staticcheck (includes gosimple, stylecheck)
- unconvert # removes unnecessary type conversions
- unparam # reports unused function parameters
- unused # checks for unused constants, variables, functions and types
- goheader # checks file headers match template
- importas # enforces consistent import aliasesdisable:
# Disable overly strict or noisy linters
- exhaustive # too strict for most codebases
- funlen # arbitrary function length limits
- gochecknoglobals # globals are sometimes necessary
- gocognit # cognitive complexity can be subjective
- gocyclo # cyclomatic complexity can be subjective
- godox # don't want to fail on TODO/FIXME comments
- mnd # magic number detection too strict (was gomnd)
- lll # line length better handled by formatters
- nlreturn # overly opinionated about blank lines
- testpackage # not always beneficial to use _test package
- wsl # overly opinionated whitespace rulesformatters:
enable:
- gofmt # Format code with gofmt
- goimports # Organize importslinters-settings:
goheader:
template-path: .golangci-goheader.templategoimports:
# Put local imports after 3rd-party packageslocal-prefixes: github.com/apache/incubator-devlakestaticcheck:
# Enable all checkschecks: ["all"]revive:
# Maximum number of open files at the same timemax-open-files: 2048# Sets the default severityseverity: errorrules:
# Enable useful rules
- name: atomic
- name: blank-imports
- name: bool-literal-in-expr
- name: call-to-gc
- name: confusing-naming
- name: confusing-results
- name: constant-logical-expr
- name: context-as-argument
- name: context-keys-type
- name: deep-exit
- name: deferarguments: [["call-chain"]]
- name: dot-imports
- name: duplicated-imports
- name: empty-block
- name: empty-lines
- name: error-naming
- name: error-return
- name: error-strings
- name: errorf
- name: get-return
- name: identical-branches
- name: import-shadowing
- name: modifies-parameter
- name: modifies-value-receiver
- name: optimize-operands-order
- name: package-comments
- name: range
- name: range-val-in-closure
- name: range-val-address
- name: receiver-naming
- name: redefines-builtin-id
- name: string-of-int
- name: string-formatarguments:
- - "core.WriteError[1].Message"
- "/^([^A-Z]|$)/"
- must not start with a capital letter
- - "fmt.Errorf[0]"
- '/(^|[^\.!?])$/'
- must not end in punctuation
- - panic
- '/^[^\n]*$/'
- must not contain line breaks
- name: struct-tag
- name: superfluous-else
- name: time-equal
- name: time-naming
- name: var-declaration
- name: unconditional-recursion
- name: unexported-return
- name: unhandled-errorarguments:
- "fmt.Printf"
- "fmt.Println"
- "fmt.Fprintln"
- "res.Body.Close"
- "body.Close"
- name: unnecessary-stmt
- name: unreachable-code
- name: useless-break
- name: waitgroup-by-value# Disable overly strict rules
- name: bare-returndisabled: true
- name: exporteddisabled: truearguments:
- "disableStutteringCheck"
- name: var-namingdisabled: truearguments:
- [] # AllowList
- [] # DenyListgocritic:
# Enable multiple check groupsenabled-tags:
- diagnostic
- style
- performance
- opinionateddisabled-checks:
- whyNoLint # we use nolintlint for this
- unnamedResult # conflicts with some patternserrcheck:
# Report about not checking of errors in type assertions: `a := b.(MyStruct)`check-type-assertions: true# Report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`check-blank: false# List of functions to exclude from checkingexclude-functions:
- (io.Closer).Close
- (*database/sql.Rows).Closeerrorlint:
# Check whether fmt.Errorf uses the %w verb for formatting errorserrorf: true# Check for plain error comparisonscomparison: truenolintlint:
# Enable to require an explanation of nonzero length after each nolint directiverequire-explanation: true# Enable to require nolint directives to mention the specific linter being suppressedrequire-specific: trueimportas:
# Enforce import aliases for consistencyno-unaliased: false# Do not allow non-required aliasesno-extra-aliases: falseissues:
# Maximum issues count per one linter. Set to 0 to disable.max-issues-per-linter: 0# Maximum count of issues with the same text. Set to 0 to disable.max-same-issues: 0# Include issues that were excluded by default exclusion patternsinclude:
- EXC0012 # revive: comment on exported items
- EXC0014 # revive: comment on exported itemsexclude-rules:
# Exclude some linters from running on specific paths
- path: models/|api/|migration/|errors/|logger/linters:
- revive
- path: plugins/([^hc].*|.[^eo].*|..[^lr].*|...[^pe].*|....[^e].*|.....[^r].*)linters:
- revive# Exclude test files from some checks
- path: _test\.golinters:
- errcheck
- gocritic
- revive# Exclude generated files
- path: ".*\\.pb\\.go$"linters:
- all
- path: ".*\\.gen\\.go$"linters:
- all# Options for analysis runningrun:
# The default concurrency value is the number of available CPUsconcurrency: 4# Timeout for analysistimeout: 5m# Exit code when at least one issue was foundissues-exit-code: 2# Include test files or nottests: false# List of build tagsbuild-tags: []# Allow multiple parallel golangci-lint instances runningallow-parallel-runners: true# Allow multiple golangci-lint instances running, but serialize writes to any filesallow-serial-runners: false# Use go modules for dependency resolutionmodules-download-mode: readonly# Output configurationoutput:
# Format: colored-line-number, line-number, json, tab, checkstyle, code-climate, html, junit-xml, github-actionsformats:
colored-line-number:
path: stdout# Print lines of code with issueprint-issued-lines: true# Print linter name in the end of issue textprint-linter-name: true# Make issues output unique by lineuniq-by-line: true# Sort results by: filepath, line and columnsort-results: true# Show statistics per lintershow-stats: true> make lint
...
...
10711 issues:
* bodyclose: 74
* copyloopvar: 1
* errcheck: 252
* errorlint: 21
* gocritic: 205
* goimports: 353
* govet: 2
* misspell: 13
* nolintlint: 33
* revive: 9623
* staticcheck: 96
* unconvert: 4
* unparam: 34 |
petkostas
commented
Oct 21, 2025
Thanks @spenpal I will try to look into that. |
This pull request has been automatically marked as stale because it has not had recent activity for 120 days. It will be closed in 7 days if no further activity occurs. |
This pull request has been closed because it has not had recent activity. You could reopen it if you try to continue your work, and anyone who are interested in it are encouraged to continue work on this pull request. |
Summary
1.23Does this close any open issues?
Closes#8584