diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 84678685..2f545431 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -23,12 +23,6 @@ jobs: with: go-version-file: go.mod - - name: Check - uses: golangci/golangci-lint-action@v6 - with: - version: v1.59 - args: --timeout=10m --issues-exit-code=0 - accel_build: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 607710bb..71d5de7e 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -20,6 +20,11 @@ jobs: with: go-version-file: go.mod + - name: Run Linter + run: | + make install-check-tools + make check + - name: Unit Test run: | go test -v -count=1 ./pkg/... diff --git a/.golangci.yml b/.golangci.yml index 2c87a0d8..2a7e1e59 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,21 +1,31 @@ -# https://golangci-lint.run/usage/configuration#config-file - +version: "2" linters: enable: - - staticcheck - - unconvert - - gofmt - - goimports - - revive - - ineffassign - - govet - - unused - misspell + - revive + - unconvert disable: - errcheck - -run: - timeout: 5m -issues: - exclude-dirs: - - misc + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - misc + - third_party$ + - builtin$ + - examples$ +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - misc + - third_party$ + - builtin$ + - examples$ diff --git a/Makefile b/Makefile index adafcc9b..0b15fa36 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ build: go build -ldflags '-X main.versionTag=${VERSION_TAG} -X main.versionGitCommit=${GIT_COMMIT} -X main.versionBuildTime=${BUILD_TIME}' -gcflags=all="-N -l" ./cmd/accelctl install-check-tools: - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.59.1 + go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.6 check: @echo "$@" diff --git a/cmd/accelctl/main.go b/cmd/accelctl/main.go index 4eee8a02..d35d8b3e 100644 --- a/cmd/accelctl/main.go +++ b/cmd/accelctl/main.go @@ -21,7 +21,7 @@ import ( "time" "github.com/sirupsen/logrus" - "github.com/urfave/cli/v2" + cli "github.com/urfave/cli/v2" "github.com/goharbor/acceleration-service/pkg/client" "github.com/goharbor/acceleration-service/pkg/config" @@ -34,9 +34,9 @@ var versionBuildTime string var ctl *client.Client -func ellipsis(txt string, max int) string { - if len(txt) > max { - return fmt.Sprintf("%s...", txt[0:max]) +func ellipsis(txt string, maximum int) string { + if len(txt) > maximum { + return fmt.Sprintf("%s...", txt[0:maximum]) } return txt } diff --git a/cmd/acceld/main.go b/cmd/acceld/main.go index 45857d38..a8b6596e 100644 --- a/cmd/acceld/main.go +++ b/cmd/acceld/main.go @@ -21,7 +21,7 @@ import ( "github.com/pkg/errors" "github.com/sirupsen/logrus" - "github.com/urfave/cli/v2" + cli "github.com/urfave/cli/v2" "github.com/goharbor/acceleration-service/pkg/config" "github.com/goharbor/acceleration-service/pkg/daemon" diff --git a/go.mod b/go.mod index bcc7e889..f7ca5cee 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/goharbor/acceleration-service -go 1.22.0 - -toolchain go1.24.2 +go 1.24.2 require ( github.com/containerd/containerd/v2 v2.0.2 diff --git a/pkg/cache/cache.go b/pkg/cache/cache.go index 9fa7f39b..e932fe1e 100644 --- a/pkg/cache/cache.go +++ b/pkg/cache/cache.go @@ -35,8 +35,8 @@ import ( "github.com/containerd/platforms" nydusutils "github.com/goharbor/acceleration-service/pkg/driver/nydus/utils" "github.com/goharbor/acceleration-service/pkg/utils" - "github.com/opencontainers/go-digest" - "github.com/opencontainers/image-spec/specs-go" + digest "github.com/opencontainers/go-digest" + specs "github.com/opencontainers/image-spec/specs-go" "github.com/pkg/errors" ) diff --git a/pkg/config/config.go b/pkg/config/config.go index 88e502b7..c15654ed 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -24,7 +24,7 @@ import ( "github.com/docker/cli/cli/config" "github.com/goharbor/acceleration-service/pkg/remote" "github.com/pkg/errors" - "gopkg.in/yaml.v3" + yaml "gopkg.in/yaml.v3" ) type Config struct { diff --git a/pkg/content/cache_test.go b/pkg/content/cache_test.go index 5df064fd..25b88611 100644 --- a/pkg/content/cache_test.go +++ b/pkg/content/cache_test.go @@ -18,7 +18,7 @@ import ( "os" "testing" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" "github.com/stretchr/testify/require" ) diff --git a/pkg/content/content.go b/pkg/content/content.go index 15cf25fa..9724bef9 100644 --- a/pkg/content/content.go +++ b/pkg/content/content.go @@ -30,11 +30,11 @@ import ( "github.com/containerd/containerd/v2/pkg/namespaces" "github.com/containerd/containerd/v2/plugins/content/local" "github.com/containerd/errdefs" - "github.com/dustin/go-humanize" + humanize "github.com/dustin/go-humanize" "github.com/goharbor/acceleration-service/pkg/cache" "github.com/goharbor/acceleration-service/pkg/remote" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" "github.com/sirupsen/logrus" diff --git a/pkg/content/ported.go b/pkg/content/ported.go index 23c6dcfd..3a54a395 100644 --- a/pkg/content/ported.go +++ b/pkg/content/ported.go @@ -29,7 +29,7 @@ import ( "github.com/containerd/errdefs" "github.com/containerd/log" "github.com/containerd/platforms" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "golang.org/x/sync/semaphore" "golang.org/x/sync/singleflight" diff --git a/pkg/converter/converter.go b/pkg/converter/converter.go index 71413b54..217077c7 100644 --- a/pkg/converter/converter.go +++ b/pkg/converter/converter.go @@ -117,7 +117,7 @@ func (cvt *Converter) Convert(ctx context.Context, source, target, cacheRef stri if errors.Is(err, ctrErrdefs.ErrNotFound) { logger.Infof("cache %s not found", cacheRef) } else { - logger.Warnf(errors.Wrapf(err, "fetch cache %s", cacheRef).Error()) + logger.Warn(errors.Wrapf(err, "fetch cache %s", cacheRef).Error()) } } } diff --git a/pkg/driver/nydus/nydus.go b/pkg/driver/nydus/nydus.go index ac2ceb04..fb958af6 100644 --- a/pkg/driver/nydus/nydus.go +++ b/pkg/driver/nydus/nydus.go @@ -41,7 +41,7 @@ import ( nydusutils "github.com/goharbor/acceleration-service/pkg/driver/nydus/utils" "github.com/goharbor/acceleration-service/pkg/errdefs" "github.com/goharbor/acceleration-service/pkg/utils" - "github.com/opencontainers/image-spec/specs-go" + specs "github.com/opencontainers/image-spec/specs-go" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" "github.com/sirupsen/logrus" diff --git a/pkg/driver/nydus/utils/archive.go b/pkg/driver/nydus/utils/archive.go index 75bc0161..d0619d03 100644 --- a/pkg/driver/nydus/utils/archive.go +++ b/pkg/driver/nydus/utils/archive.go @@ -23,7 +23,7 @@ import ( "path/filepath" "github.com/containerd/containerd/v2/pkg/archive/compression" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" ) // PackTargz makes .tar(.gz) stream of file named `name` and returns reader diff --git a/pkg/driver/nydus/utils/utils_test.go b/pkg/driver/nydus/utils/utils_test.go index dc450557..0c6f14a6 100644 --- a/pkg/driver/nydus/utils/utils_test.go +++ b/pkg/driver/nydus/utils/utils_test.go @@ -18,7 +18,7 @@ import ( "os" "testing" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" ) func Test_GetRawBootstrapFromV6(t *testing.T) { diff --git a/pkg/router/health.go b/pkg/router/health.go index 776f5bfb..1297250f 100644 --- a/pkg/router/health.go +++ b/pkg/router/health.go @@ -19,7 +19,7 @@ import ( "github.com/goharbor/acceleration-service/pkg/errdefs" "github.com/goharbor/acceleration-service/pkg/server/util" - "github.com/labstack/echo/v4" + echo "github.com/labstack/echo/v4" ) func (r *LocalRouter) CheckHealth(ctx echo.Context) error { diff --git a/pkg/router/router.go b/pkg/router/router.go index eca2ef74..987defe5 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -18,7 +18,7 @@ import ( "errors" "net/http" - "github.com/labstack/echo/v4" + echo "github.com/labstack/echo/v4" "github.com/sirupsen/logrus" "github.com/goharbor/acceleration-service/pkg/handler" diff --git a/pkg/router/task_create.go b/pkg/router/task_create.go index dc0ddba7..a4ad4c58 100644 --- a/pkg/router/task_create.go +++ b/pkg/router/task_create.go @@ -20,7 +20,7 @@ import ( "strconv" "github.com/goharbor/acceleration-service/pkg/model" - "github.com/labstack/echo/v4" + echo "github.com/labstack/echo/v4" "github.com/goharbor/acceleration-service/pkg/errdefs" "github.com/goharbor/acceleration-service/pkg/server/util" diff --git a/pkg/router/task_list.go b/pkg/router/task_list.go index 81fbdb01..a608626f 100644 --- a/pkg/router/task_list.go +++ b/pkg/router/task_list.go @@ -18,7 +18,7 @@ import ( "net/http" "github.com/goharbor/acceleration-service/pkg/task" - "github.com/labstack/echo/v4" + echo "github.com/labstack/echo/v4" ) func (r *LocalRouter) ListTask(ctx echo.Context) error { diff --git a/pkg/server/server.go b/pkg/server/server.go index a97fac9b..19c82712 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -25,7 +25,7 @@ import ( "time" "github.com/labstack/echo-contrib/prometheus" - "github.com/labstack/echo/v4" + echo "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "github.com/labstack/gommon/log" "github.com/pkg/errors" @@ -135,7 +135,7 @@ func NewHTTPServer(cfg *config.ServerConfig, metricCfg *config.MetricConfig, rou ctx, cancel := context.WithTimeout(context.Background(), shutdownTimeout) defer cancel() if err := server.Shutdown(ctx); err != nil { - logrus.Fatal(errors.Wrapf(err, fmt.Sprintf("[%s] gracefully shutdown http server", cfg.Name))) + logrus.Fatal(errors.Wrap(err, fmt.Sprintf("[%s] gracefully shutdown http server", cfg.Name))) } }() diff --git a/pkg/server/util/util.go b/pkg/server/util/util.go index 815f2740..1838bfe8 100644 --- a/pkg/server/util/util.go +++ b/pkg/server/util/util.go @@ -14,7 +14,9 @@ package util -import "github.com/labstack/echo/v4" +import ( + echo "github.com/labstack/echo/v4" +) type ErrorResp struct { Code string `json:"code"` diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index a98d83c2..becb8e41 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -10,7 +10,7 @@ import ( "github.com/containerd/containerd/v2/core/images" "github.com/containerd/containerd/v2/pkg/labels" "github.com/containerd/platforms" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" )