diff options
author | silverwind <me@silverwind.io> | 2023-04-22 20:53:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-22 14:53:00 -0400 |
commit | 8dc6eabbc02ef07c76671d53f28baf46871d5b68 (patch) | |
tree | 52e8a1a59e88fc55c76e2adb82e844caae04a970 /Makefile | |
parent | 88201914767e15a51c910d295647d97973fa09bf (diff) | |
download | gitea-8dc6eabbc02ef07c76671d53f28baf46871d5b68.tar.gz gitea-8dc6eabbc02ef07c76671d53f28baf46871d5b68.zip |
Update go tool dependencies, restructure lint targets (#24239)
- Update all tool dependencies to latest tag
- Remove unused errcheck, it is part of golangci-lint
- Include main.go in air
- Enable wastedassign again now that it's
[generics-compatible](https://github.com/golangci/golangci-lint/pull/3689)
- Restructured lint targets to new `lint-*` namespace
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 110 |
1 files changed, 71 insertions, 39 deletions
@@ -25,16 +25,15 @@ COMMA := , XGO_VERSION := go-1.20.x -AIR_PACKAGE ?= github.com/cosmtrek/air@v1.40.4 -EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/cmd/editorconfig-checker@2.6.0 -ERRCHECK_PACKAGE ?= github.com/kisielk/errcheck@v1.6.2 -GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.4.0 -GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2 -GXZ_PAGAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.10 +AIR_PACKAGE ?= github.com/cosmtrek/air@v1.43.0 +EDITORCONFIG_CHECKER_PACKAGE ?= github.com/editorconfig-checker/editorconfig-checker/cmd/editorconfig-checker@2.7.0 +GOFUMPT_PACKAGE ?= mvdan.cc/gofumpt@v0.5.0 +GOLANGCI_LINT_PACKAGE ?= github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.2 +GXZ_PAGAGE ?= github.com/ulikunitz/xz/cmd/gxz@v0.5.11 MISSPELL_PACKAGE ?= github.com/client9/misspell/cmd/misspell@v0.3.4 SWAGGER_PACKAGE ?= github.com/go-swagger/go-swagger/cmd/swagger@v0.30.4 XGO_PACKAGE ?= src.techknowlogick.com/xgo@latest -GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.5.0 +GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@latest DOCKER_IMAGE ?= gitea/gitea @@ -194,9 +193,20 @@ help: @echo " - deps-backend install backend dependencies" @echo " - deps-tools install tool dependencies" @echo " - lint lint everything" + @echo " - lint-fix lint everything and fix issues" @echo " - lint-frontend lint frontend files" + @echo " - lint-frontend-fix lint frontend files and fix issues" @echo " - lint-backend lint backend files" + @echo " - lint-backend-fix lint backend files and fix issues" + @echo " - lint-go lint go files" + @echo " - lint-go-fix lint go files and fix issues" + @echo " - lint-go-vet lint go files with vet" + @echo " - lint-js lint js files" + @echo " - lint-js-fix lint js files and fix issues" + @echo " - lint-css lint css files" + @echo " - lint-css-fix lint css files and fix issues" @echo " - lint-md lint markdown files" + @echo " - lint-swagger lint swagger files" @echo " - checks run various consistency checks" @echo " - checks-frontend check frontend files" @echo " - checks-backend check backend files" @@ -214,9 +224,7 @@ help: @echo " - generate-manpage generate manpage" @echo " - generate-swagger generate the swagger spec from code comments" @echo " - swagger-validate check if the swagger spec is valid" - @echo " - golangci-lint run golangci-lint linter" @echo " - go-licenses regenerate go licenses" - @echo " - vet examines Go source code and reports suspicious constructs" @echo " - tidy run go mod tidy" @echo " - test[\#TestSpecificName] run unit test" @echo " - test-sqlite[\#TestSpecificName] run integration test for sqlite" @@ -286,12 +294,6 @@ fmt-check: fmt misspell-check: go run $(MISSPELL_PACKAGE) -error $(GO_DIRS) $(WEB_DIRS) -.PHONY: vet -vet: - @echo "Running go vet..." - @GOOS= GOARCH= $(GO) build code.gitea.io/gitea-vet - @$(GO) vet -vettool=gitea-vet $(GO_PACKAGES) - .PHONY: $(TAGS_EVIDENCE) $(TAGS_EVIDENCE): @mkdir -p $(MAKE_EVIDENCE_DIR) @@ -324,11 +326,6 @@ swagger-validate: $(GO) run $(SWAGGER_PACKAGE) validate './$(SWAGGER_SPEC)' $(SED_INPLACE) '$(SWAGGER_SPEC_S_TMPL)' './$(SWAGGER_SPEC)' -.PHONY: errcheck -errcheck: - @echo "Running errcheck..." - $(GO) run $(ERRCHECK_PACKAGE) $(GO_PACKAGES) - .PHONY: checks checks: checks-frontend checks-backend @@ -341,18 +338,69 @@ checks-backend: tidy-check swagger-check fmt-check misspell-check swagger-valida .PHONY: lint lint: lint-frontend lint-backend +.PHONY: lint-fix +lint-fix: lint-frontend-fix lint-backend-fix + .PHONY: lint-frontend -lint-frontend: node_modules lint-md +lint-frontend: lint-js lint-css lint-md lint-swagger + +.PHONY: lint-frontend-fix +lint-frontend-fix: lint-js-fix lint-css-fix lint-md lint-swagger + +.PHONY: lint-backend +lint-backend: lint-go lint-go-vet lint-editorconfig + +.PHONY: lint-backend-fix +lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig + +.PHONY: lint-js +lint-js: node_modules npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js docs/assets/js tests/e2e + +.PHONY: lint-js-fix +lint-js-fix: node_modules + npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js docs/assets/js tests/e2e --fix + +.PHONY: lint-css +lint-css: node_modules npx stylelint --color --max-warnings=0 web_src/css + +.PHONY: lint-css-fix +lint-css-fix: node_modules + npx stylelint --color --max-warnings=0 web_src/css --fix + +.PHONY: lint-swagger +lint-swagger: node_modules npx spectral lint -q -F hint $(SWAGGER_SPEC) .PHONY: lint-md lint-md: node_modules npx markdownlint docs *.md -.PHONY: lint-backend -lint-backend: golangci-lint vet editorconfig-checker +.PHONY: lint-go +lint-go: + $(GO) run $(GOLANGCI_LINT_PACKAGE) run + +.PHONY: lint-go-fix +lint-go-fix: + $(GO) run $(GOLANGCI_LINT_PACKAGE) run --fix + +# workaround step for the lint-backend-windows CI task because 'go run' can not +# have distinct GOOS/GOARCH for its build and run steps +.PHONY: lint-go-windows +lint-go-windows: + @GOOS= GOARCH= $(GO) install $(GOLANGCI_LINT_PACKAGE) + golangci-lint run + +.PHONY: lint-go-vet +lint-go-vet: + @echo "Running go vet..." + @GOOS= GOARCH= $(GO) build code.gitea.io/gitea-vet + @$(GO) vet -vettool=gitea-vet $(GO_PACKAGES) + +.PHONY: lint-editorconfig +lint-editorconfig: + $(GO) run $(EDITORCONFIG_CHECKER_PACKAGE) templates .PHONY: watch watch: @@ -843,7 +891,6 @@ deps-backend: deps-tools: $(GO) install $(AIR_PACKAGE) $(GO) install $(EDITORCONFIG_CHECKER_PACKAGE) - $(GO) install $(ERRCHECK_PACKAGE) $(GO) install $(GOFUMPT_PACKAGE) $(GO) install $(GOLANGCI_LINT_PACKAGE) $(GO) install $(GXZ_PAGAGE) @@ -942,21 +989,6 @@ generate-manpage: @gzip -9 man/man1/gitea.1 && echo man/man1/gitea.1.gz created @#TODO A small script that formats config-cheat-sheet.en-us.md nicely for use as a config man page -.PHONY: golangci-lint -golangci-lint: - $(GO) run $(GOLANGCI_LINT_PACKAGE) run - -# workaround step for the lint-backend-windows CI task because 'go run' can not -# have distinct GOOS/GOARCH for its build and run steps -.PHONY: golangci-lint-windows -golangci-lint-windows: - @GOOS= GOARCH= $(GO) install $(GOLANGCI_LINT_PACKAGE) - golangci-lint run - -.PHONY: editorconfig-checker -editorconfig-checker: - $(GO) run $(EDITORCONFIG_CHECKER_PACKAGE) templates - .PHONY: docker docker: docker build --disable-content-trust=false -t $(DOCKER_REF) . |