Skip to content

Commit 22eae5c

Browse files
authored
Update go version & add verification/testing tools (#81)
<!-- 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
1 parent 4ce5252 commit 22eae5c

File tree

153 files changed

+205
-437
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+205
-437
lines changed

.circleci/config.yml

Lines changed: 0 additions & 70 deletions
This file was deleted.

.editorconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
; https://editorconfig.org/
2+
3+
root = true
4+
5+
[*]
6+
insert_final_newline = true
7+
charset = utf-8
8+
trim_trailing_whitespace = true
9+
indent_style = space
10+
indent_size = 2
11+
12+
[{Makefile,go.mod,go.sum,*.go,.gitmodules}]
13+
indent_style = tab
14+
indent_size = 4
15+
16+
[*.md]
17+
indent_size = 4
18+
trim_trailing_whitespace = false
19+
20+
eclint_indent_style = unset

.gitattributes

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/release_drafter.yml

Lines changed: 0 additions & 4 deletions
This file was deleted.

.github/workflows/issues.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Add issues or pull-requests created to the project.
2+
name: Add issue or pull request to Project
3+
4+
on:
5+
issues:
6+
types:
7+
- opened
8+
pull_request_target:
9+
types:
10+
- opened
11+
- reopened
12+
13+
jobs:
14+
add-to-project:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Add issue to project
18+
uses: actions/add-to-project@v0.5.0
19+
with:
20+
project-url: https://github.com/orgs/gorilla/projects/4
21+
github-token: ${{ secrets.ADD_TO_PROJECT_TOKEN }}

.github/workflows/test.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
branches:
8+
- main
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
verify-and-test-and-fuzz:
15+
strategy:
16+
matrix:
17+
go: ['1.19','1.20']
18+
os: [ubuntu-latest, macos-latest, windows-latest]
19+
fail-fast: true
20+
runs-on: ${{ matrix.os }}
21+
steps:
22+
- name: Checkout Code
23+
uses: actions/checkout@v3
24+
25+
- name: Setup Go ${{ matrix.go }}
26+
uses: actions/setup-go@v4
27+
with:
28+
go-version: ${{ matrix.go }}
29+
cache: false
30+
31+
- name: Run GolangCI-Lint
32+
uses: golangci/golangci-lint-action@v3
33+
with:
34+
version: v1.53
35+
args: --timeout=5m
36+
37+
- name: Run GoSec
38+
if: matrix.os == 'ubuntu-latest'
39+
uses: securego/gosec@master
40+
with:
41+
args: ./...
42+
43+
- name: Run GoVulnCheck
44+
uses: golang/govulncheck-action@v1
45+
with:
46+
go-version-input: ${{ matrix.go }}
47+
go-package: ./...
48+
49+
- name: Run Tests
50+
run: go test -race -cover -coverprofile=coverage -covermode=atomic -v ./...
51+
52+
- name: Run Fuzz Tests
53+
run: go test -v -fuzz FuzzEncodeDecode -fuzztime 60s
54+
55+
- name: Upload coverage to Codecov
56+
uses: codecov/codecov-action@v3
57+
with:
58+
files: ./coverage

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
coverage.coverprofile

AUTHORS

Lines changed: 0 additions & 19 deletions
This file was deleted.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2012-2018 The Gorilla Authors. All rights reserved.
1+
Copyright (c) 2023 The Gorilla Authors. All rights reserved.
22

33
Redistribution and use in source and binary forms, with or without
44
modification, are permitted provided that the following conditions are

Makefile

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
GO_LINT=$(shell which golangci-lint 2> /dev/null || echo '')
2+
GO_LINT_URI=github.com/golangci/golangci-lint/cmd/golangci-lint@latest
3+
4+
GO_SEC=$(shell which gosec 2> /dev/null || echo '')
5+
GO_SEC_URI=github.com/securego/gosec/v2/cmd/gosec@latest
6+
7+
GO_VULNCHECK=$(shell which govulncheck 2> /dev/null || echo '')
8+
GO_VULNCHECK_URI=golang.org/x/vuln/cmd/govulncheck@latest
9+
10+
.PHONY: golangci-lint
11+
golangci-lint:
12+
$(if $(GO_LINT), ,go install $(GO_LINT_URI))
13+
@echo "##### Running golangci-lint"
14+
golangci-lint run -v
15+
16+
.PHONY: gosec
17+
gosec:
18+
$(if $(GO_SEC), ,go install $(GO_SEC_URI))
19+
@echo "##### Running gosec"
20+
gosec ./...
21+
22+
.PHONY: govulncheck
23+
govulncheck:
24+
$(if $(GO_VULNCHECK), ,go install $(GO_VULNCHECK_URI))
25+
@echo "##### Running govulncheck"
26+
govulncheck ./...
27+
28+
.PHONY: verify
29+
verify: golangci-lint gosec govulncheck
30+
31+
.PHONY: test
32+
test:
33+
@echo "##### Running tests"
34+
go test -race -cover -coverprofile=coverage.coverprofile -covermode=atomic -v ./...
35+
36+
.PHONY: fuzz
37+
fuzz:
38+
@echo "##### Running fuzz tests"
39+
go test -v -fuzz FuzzEncodeDecode -fuzztime 60s

README.md

Lines changed: 6 additions & 3 deletions

fuzz.go

Lines changed: 0 additions & 25 deletions
This file was deleted.

fuzz/corpus/0.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/05a79f06cf3f67f726dae68d18a2290f6c9a50c9-1

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/05aefe7b48db1dcf464048449ac4fa6af2fbc73b-5

Lines changed: 0 additions & 3 deletions
This file was deleted.

fuzz/corpus/1.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/10.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/11.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/12.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/13.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/14.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/15.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/16.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/169c3e89cd10efe9bce3a1fdb69a31229e618fc0

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/17.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/18.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/19.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/2.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/20.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/202ad82e80f70c37f893e47d23f91b1de5067219-7

Lines changed: 0 additions & 3 deletions
This file was deleted.

fuzz/corpus/21.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/21606782c65e44cac7afbb90977d8b6f82140e76-1

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/22.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/23.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/24.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/25.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/25c648c4c5161116b9b3b883338ddae51f25a901-1

Lines changed: 0 additions & 2 deletions
This file was deleted.

fuzz/corpus/26.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/27.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/28.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/29.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/2aad7069353f2b76fa70b9e0b22115bb42025ec0-2

Lines changed: 0 additions & 2 deletions
This file was deleted.

fuzz/corpus/2b28c8193457fb5385d22ef4ca733c4e364f00e7-4

Lines changed: 0 additions & 3 deletions
This file was deleted.

fuzz/corpus/3.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/30.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/corpus/31.sc

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)