22eae5c820
<!-- For Work In Progress Pull Requests, please use the Draft PR feature, see https://github.blog/2019-02-14-introducing-draft-pull-requests/ for further details. For a timely review/response, please avoid force-pushing additional commits if your PR already received reviews or comments. Before submitting a Pull Request, please ensure that you have: - 📖 Read the Contributing guide: https://github.com/gorilla/.github/blob/main/CONTRIBUTING.md - 📖 Read the Code of Conduct: https://github.com/gorilla/.github/blob/main/CODE_OF_CONDUCT.md - Provide tests for your changes. - Use descriptive commit messages. - Comment your code where appropriate. - Squash your commits - Update any related documentation. - Add gorilla/pull-request-reviewers as a Reviewer --> ## What type of PR is this? (check all applicable) - [ ] Refactor - [ ] Feature - [ ] Bug Fix - [x] Optimization - [ ] Documentation Update ## Description ## Related Tickets & Documents <!-- For pull requests that relate or close an issue, please include them below. We like to follow [Github's guidance on linking issues to pull requests](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue). For example having the text: "closes #1234" would connect the current pull request to issue 1234. And when we merge the pull request, Github will automatically close the issue. --> - Related Issue # - Closes # ## Added/updated tests? - [ ] Yes - [ ] No, and this is why: _please replace this line with details on why tests have not been included_ - [ ] I need help with writing tests ## Run verifications and test - [ ] `make verify` is passing - [ ] `make test` is passing
40 lines
1 KiB
Makefile
40 lines
1 KiB
Makefile
GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '')
|
|
GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
|
|
|
GO_SEC=$(shell which gosec 2> /dev/null || echo '')
|
|
GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest
|
|
|
|
GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '')
|
|
GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest
|
|
|
|
.PHONY: golangci-lint
|
|
golangci-lint:
|
|
$(if $(GO_LINT), ,go install $(GO_LINT_URI))
|
|
@echo "##### Running golangci-lint"
|
|
golangci-lint run -v
|
|
|
|
.PHONY: gosec
|
|
gosec:
|
|
$(if $(GO_SEC), ,go install $(GO_SEC_URI))
|
|
@echo "##### Running gosec"
|
|
gosec ./...
|
|
|
|
.PHONY: govulncheck
|
|
govulncheck:
|
|
$(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI))
|
|
@echo "##### Running govulncheck"
|
|
govulncheck ./...
|
|
|
|
.PHONY: verify
|
|
verify: golangci-lint gosec govulncheck
|
|
|
|
.PHONY: test
|
|
test:
|
|
@echo "##### Running tests"
|
|
go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./...
|
|
|
|
.PHONY: fuzz
|
|
fuzz:
|
|
@echo "##### Running fuzz tests"
|
|
go test -v -fuzz FuzzEncodeDecode -fuzztime 60s
|