diff --git a/.github/workflows/test-lint.yml b/.github/workflows/test-lint.yml index aad15e59e4..514fbaae64 100644 --- a/.github/workflows/test-lint.yml +++ b/.github/workflows/test-lint.yml @@ -35,7 +35,7 @@ jobs: - uses: golangci/golangci-lint-action@v6 if: env.GIT_DIFF with: - version: v1.54.2 + version: v1.58.0 install-mode: goinstall args: --timeout 10m github-token: ${{ secrets.github_token }} diff --git a/.golangci.yml b/.golangci.yml index dd076db8ad..fd302aa6ec 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,9 +1,5 @@ run: tests: false - skip-dirs: - - ignite/ui -# # timeout for analysis, e.g. 30s, 5m, default is 1m -# timeout: 5m linters: disable-all: true @@ -17,6 +13,7 @@ linters: - errchkjson - errorlint - exhaustive + - gci - goconst - gocritic - godot @@ -47,6 +44,16 @@ linters: # - wsl linters-settings: + gci: + custom-order: true + sections: + - standard # Standard section: captures all standard packages. + - default # Default section: contains all imports that could not be matched to another section type. + - prefix(cosmossdk.io) + - prefix(github.com/cosmos/cosmos-sdk) + - prefix(github.com/cosmos/ibc-go + - prefix(github.com/cometbft/cometbft) + - prefix(github.com/ignite/cli) forbidigo: forbid: - p: ^fmt\.Errorf$ @@ -61,5 +68,9 @@ linters-settings: desc: Should be replaced by '"github.com/ignite/cli/ignite/pkg/errors"' issues: + exclude-dirs: + - ignite/ui + # # timeout for analysis, e.g. 30s, 5m, default is 1m + # timeout: 5m max-issues-per-linter: 0 max-same-issues: 0 diff --git a/changelog.md b/changelog.md index cf8cca8401..1268e0551c 100644 --- a/changelog.md +++ b/changelog.md @@ -21,6 +21,7 @@ ### Changes +- [#4159](https://github.com/ignite/cli/pull/4159) Enable gci linter - [#4157](https://github.com/ignite/cli/pull/4157) Upgrade golang to 1.22 - [#4094](https://github.com/ignite/cli/pull/4094) Scaffolding a multi-index map using `ignite s map foo bar baz --index foobar,foobaz` is no longer supported. Use one index instead of use `collections.IndexedMap`. - [#4058](https://github.com/ignite/cli/pull/4058) Simplify scaffolded modules by including `ValidateBasic()` logic in message handler. diff --git a/ignite/cmd/chain_faucet.go b/ignite/cmd/chain_faucet.go index 0e0dc9a4eb..83df815ff5 100644 --- a/ignite/cmd/chain_faucet.go +++ b/ignite/cmd/chain_faucet.go @@ -1,9 +1,10 @@ package ignitecmd import ( - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/spf13/cobra" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/ignite/cli/v29/ignite/pkg/chaincmd" "github.com/ignite/cli/v29/ignite/pkg/cliui" "github.com/ignite/cli/v29/ignite/services/chain" diff --git a/ignite/cmd/chain_simulate.go b/ignite/cmd/chain_simulate.go index 433503995b..3bafd43fc1 100644 --- a/ignite/cmd/chain_simulate.go +++ b/ignite/cmd/chain_simulate.go @@ -3,9 +3,10 @@ package ignitecmd import ( "path/filepath" - "github.com/cosmos/cosmos-sdk/types/simulation" "github.com/spf13/cobra" + "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/ignite/cli/v29/ignite/services/chain" ) diff --git a/ignite/cmd/node_query.go b/ignite/cmd/node_query.go index 082a565f16..e1c033cefc 100644 --- a/ignite/cmd/node_query.go +++ b/ignite/cmd/node_query.go @@ -3,10 +3,11 @@ package ignitecmd import ( "fmt" - "github.com/cosmos/cosmos-sdk/types/query" "github.com/spf13/cobra" flag "github.com/spf13/pflag" + "github.com/cosmos/cosmos-sdk/types/query" + "github.com/ignite/cli/v29/ignite/pkg/errors" ) diff --git a/ignite/cmd/node_tx_bank_send.go b/ignite/cmd/node_tx_bank_send.go index eadc54d2e7..ed8ca47579 100644 --- a/ignite/cmd/node_tx_bank_send.go +++ b/ignite/cmd/node_tx_bank_send.go @@ -1,9 +1,10 @@ package ignitecmd import ( - sdk "github.com/cosmos/cosmos-sdk/types" "github.com/spf13/cobra" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/ignite/cli/v29/ignite/pkg/cliui" ) diff --git a/ignite/config/chain/parse.go b/ignite/config/chain/parse.go index bc23cb4b91..fbba0e3c3b 100644 --- a/ignite/config/chain/parse.go +++ b/ignite/config/chain/parse.go @@ -5,9 +5,10 @@ import ( "io" "os" - "github.com/cosmos/cosmos-sdk/types/bech32" "gopkg.in/yaml.v3" + "github.com/cosmos/cosmos-sdk/types/bech32" + "github.com/ignite/cli/v29/ignite/config/chain/version" "github.com/ignite/cli/v29/ignite/pkg/errors" ) diff --git a/ignite/pkg/cosmosaccount/cosmosaccount.go b/ignite/pkg/cosmosaccount/cosmosaccount.go index 92e714f2bf..69a865f686 100644 --- a/ignite/pkg/cosmosaccount/cosmosaccount.go +++ b/ignite/pkg/cosmosaccount/cosmosaccount.go @@ -7,6 +7,8 @@ import ( "os" dkeyring "github.com/99designs/keyring" + "github.com/cosmos/go-bip39" + "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" @@ -15,7 +17,6 @@ import ( sdktypes "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/bech32" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/go-bip39" "github.com/ignite/cli/v29/ignite/pkg/errors" ) diff --git a/ignite/pkg/cosmosclient/cosmosclient.go b/ignite/pkg/cosmosclient/cosmosclient.go index 06dcb9802b..6453656ce3 100644 --- a/ignite/pkg/cosmosclient/cosmosclient.go +++ b/ignite/pkg/cosmosclient/cosmosclient.go @@ -14,9 +14,10 @@ import ( "time" "github.com/cenkalti/backoff" - rpcclient "github.com/cometbft/cometbft/rpc/client" - rpchttp "github.com/cometbft/cometbft/rpc/client/http" - ctypes "github.com/cometbft/cometbft/rpc/core/types" + gogogrpc "github.com/cosmos/gogoproto/grpc" + "github.com/cosmos/gogoproto/proto" + prototypes "github.com/cosmos/gogoproto/types" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" @@ -30,9 +31,10 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" staking "github.com/cosmos/cosmos-sdk/x/staking/types" - gogogrpc "github.com/cosmos/gogoproto/grpc" - "github.com/cosmos/gogoproto/proto" - prototypes "github.com/cosmos/gogoproto/types" + + rpcclient "github.com/cometbft/cometbft/rpc/client" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + ctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/ignite/cli/v29/ignite/pkg/cosmosaccount" "github.com/ignite/cli/v29/ignite/pkg/cosmosfaucet" diff --git a/ignite/pkg/cosmosclient/gasometer.go b/ignite/pkg/cosmosclient/gasometer.go index 57f0114809..bdf259b36c 100644 --- a/ignite/pkg/cosmosclient/gasometer.go +++ b/ignite/pkg/cosmosclient/gasometer.go @@ -1,10 +1,11 @@ package cosmosclient import ( + gogogrpc "github.com/cosmos/gogoproto/grpc" + "github.com/cosmos/cosmos-sdk/client/tx" sdktypes "github.com/cosmos/cosmos-sdk/types" txtypes "github.com/cosmos/cosmos-sdk/types/tx" - gogogrpc "github.com/cosmos/gogoproto/grpc" ) // gasometer implements the Gasometer interface. diff --git a/ignite/pkg/cosmosfaucet/cosmosfaucet.go b/ignite/pkg/cosmosfaucet/cosmosfaucet.go index 5e798740af..6b914bce54 100644 --- a/ignite/pkg/cosmosfaucet/cosmosfaucet.go +++ b/ignite/pkg/cosmosfaucet/cosmosfaucet.go @@ -6,6 +6,7 @@ import ( "time" sdkmath "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" chaincmdrunner "github.com/ignite/cli/v29/ignite/pkg/chaincmd/runner" diff --git a/ignite/pkg/cosmosfaucet/transfer.go b/ignite/pkg/cosmosfaucet/transfer.go index b797aadefc..57536c787e 100644 --- a/ignite/pkg/cosmosfaucet/transfer.go +++ b/ignite/pkg/cosmosfaucet/transfer.go @@ -7,6 +7,7 @@ import ( "time" sdkmath "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/ignite/cli/v29/ignite/pkg/chaincmd" diff --git a/ignite/pkg/cosmostxcollector/adapter/postgres/postgres.go b/ignite/pkg/cosmostxcollector/adapter/postgres/postgres.go index e173fe1c69..6bc76094e9 100644 --- a/ignite/pkg/cosmostxcollector/adapter/postgres/postgres.go +++ b/ignite/pkg/cosmostxcollector/adapter/postgres/postgres.go @@ -8,9 +8,10 @@ import ( "fmt" "net/url" - ctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/lib/pq" + ctypes "github.com/cometbft/cometbft/rpc/core/types" + "github.com/ignite/cli/v29/ignite/pkg/cosmosclient" "github.com/ignite/cli/v29/ignite/pkg/cosmostxcollector/query" "github.com/ignite/cli/v29/ignite/pkg/errors" diff --git a/ignite/pkg/cosmosutil/gentx.go b/ignite/pkg/cosmosutil/gentx.go index fb19aeaf18..4951414df7 100644 --- a/ignite/pkg/cosmosutil/gentx.go +++ b/ignite/pkg/cosmosutil/gentx.go @@ -6,9 +6,11 @@ import ( "os" sdkmath "cosmossdk.io/math" - "github.com/cometbft/cometbft/crypto/ed25519" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cometbft/cometbft/crypto/ed25519" + "github.com/ignite/cli/v29/ignite/pkg/errors" ) diff --git a/ignite/services/chain/faucet.go b/ignite/services/chain/faucet.go index 273197f8e2..836625788a 100644 --- a/ignite/services/chain/faucet.go +++ b/ignite/services/chain/faucet.go @@ -6,6 +6,7 @@ import ( "time" sdkmath "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" chainconfig "github.com/ignite/cli/v29/ignite/config/chain" diff --git a/ignite/services/chain/runtime.go b/ignite/services/chain/runtime.go index a45da52d57..6d04982d99 100644 --- a/ignite/services/chain/runtime.go +++ b/ignite/services/chain/runtime.go @@ -5,10 +5,11 @@ import ( "os" "path/filepath" - sdktypes "github.com/cosmos/cosmos-sdk/types" "github.com/nqd/flat" "github.com/pelletier/go-toml" + sdktypes "github.com/cosmos/cosmos-sdk/types" + chainconfig "github.com/ignite/cli/v29/ignite/config/chain" "github.com/ignite/cli/v29/ignite/pkg/chaincmd" chaincmdrunner "github.com/ignite/cli/v29/ignite/pkg/chaincmd/runner"