-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
41 changed files
with
971 additions
and
513 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: "ReviewDog workflow" | ||
on: | ||
pull_request: | ||
jobs: | ||
# Blocking Errors Section | ||
reviewdog-errors: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 # required for new-from-rev option in .golangci.yml | ||
- name: Install libraries | ||
run: sudo apt-get -y -q install libboost-math-dev | ||
- name: Install specific golang | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: '1.16.15' | ||
- name: reviewdog-golangci-lint | ||
uses: reviewdog/action-golangci-lint@v2 | ||
with: | ||
golangci_lint_version: "v1.44.2" | ||
golangci_lint_flags: "-c .golangci.yml --allow-parallel-runners" | ||
reporter: "github-pr-review" | ||
tool_name: "Lint Errors" | ||
level: "error" | ||
fail_on_error: true | ||
# Non-Blocking Warnings Section | ||
reviewdog-warnings: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code into the Go module directory | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 # required for new-from-rev option in .golangci.yml | ||
- name: Install libraries | ||
run: sudo apt-get -y -q install libboost-math-dev | ||
- name: Install specific golang | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: '1.16.15' | ||
- name: Add bin to PATH | ||
run: | | ||
echo "$GITHUB_WORKSPACE/bin" >> $GITHUB_PATH | ||
echo "$RUNNER_WORKSPACE/$(basename $GITHUB_REPOSITORY)/bin" >> $GITHUB_PATH | ||
- name: Create folders for golangci-lint | ||
run: mkdir -p cicdtmp/golangci-lint | ||
- name: Check if custom golangci-lint is already built | ||
id: cache-golangci-lint | ||
uses: actions/cache@v2 | ||
with: | ||
path: cicdtmp/golangci-lint/golangci-lint-cgo | ||
key: cicd-golangci-lint-cgo-v0.0.1 | ||
|
||
- name: Build custom golangci-lint with CGO_ENABLED | ||
if: steps.cache-golangci-lint.outputs.cache-hit != 'true' | ||
run: | | ||
cd cicdtmp/golangci-lint | ||
git clone https://github.com/golangci/golangci-lint.git . | ||
git checkout tags/v1.41.1 | ||
CGO_ENABLED=true go build -trimpath -o golangci-lint-cgo ./cmd/golangci-lint | ||
./golangci-lint-cgo --version | ||
cd ../../ | ||
- name: Install reviewdog | ||
run: | | ||
curl -sfL https://raw.githubusercontent.com/reviewdog/reviewdog/v0.13.0/install.sh | sh -s | ||
reviewdog --version | ||
- name: Run golangci-lint with reviewdog | ||
env: | ||
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: > | ||
./cicdtmp/golangci-lint/golangci-lint-cgo run | ||
--out-format line-number | ||
-c .golangci-warnings.yml | ||
--allow-parallel-runners | ||
| reviewdog | ||
-f=golangci-lint | ||
-name="Lint Warnings" | ||
-reporter=github-check | ||
-filter-mode=added | ||
-fail-on-error=false | ||
-level=warning |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
run: | ||
timeout: 5m | ||
tests: true | ||
|
||
linters: | ||
disable-all: true | ||
enable: | ||
- staticcheck | ||
- structcheck | ||
- typecheck | ||
- varcheck | ||
- deadcode | ||
- gosimple | ||
- unused | ||
|
||
severity: | ||
default-severity: warning | ||
|
||
issues: | ||
# use these new lint checks on code since #935 | ||
new-from-rev: 99ab66fdadcd77fef4048bb2aa86cae1f06c6e08 | ||
|
||
# Disable default exclude rules listed in `golangci-lint run --help` (selectively re-enable some below) | ||
exclude-use-default: false | ||
|
||
# Maximum issues count per one linter. Set to 0 to disable. Default is 50. | ||
max-issues-per-linter: 0 | ||
|
||
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3. | ||
max-same-issues: 0 | ||
|
||
exclude: | ||
# ignore govet false positive fixed in https://github.com/golang/go/issues/45043 | ||
- "sigchanyzer: misuse of unbuffered os.Signal channel as argument to signal.Notify" | ||
# ignore golint false positive fixed in https://github.com/golang/lint/pull/487 | ||
- "exported method (.*).Unwrap` should have comment or be unexported" | ||
# ignore issues about the way we use _struct fields to define encoding settings | ||
- "`_struct` is unused" | ||
|
||
# Enable some golangci-lint default exception rules: | ||
# "EXC0001 errcheck: Almost all programs ignore errors on these functions and in most cases it's ok" | ||
- Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked | ||
# "EXC0005 staticcheck: Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore" | ||
- ineffective break statement. Did you mean to break out of the outer loop | ||
|
||
exclude-rules: | ||
# be more lenient with test code | ||
- path: _test\.go | ||
linters: | ||
- staticcheck | ||
- structcheck | ||
- typecheck | ||
- varcheck | ||
- deadcode | ||
- gosimple | ||
- unused |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
run: | ||
timeout: 5m | ||
tests: false | ||
|
||
linters: | ||
disable-all: true | ||
enable: | ||
- errcheck | ||
- gofmt | ||
- golint | ||
- govet | ||
- ineffassign | ||
- misspell | ||
- gci | ||
|
||
linters-settings: | ||
gci: | ||
sections: | ||
- standard | ||
- default | ||
- prefix(github.com/algorand) | ||
- prefix(github.com/algorand/go-algorand) | ||
|
||
section-separators: | ||
- newLine | ||
|
||
severity: | ||
default-severity: error | ||
rules: | ||
- linters: | ||
- errcheck | ||
- gofmt | ||
- golint | ||
- govet | ||
- ineffassign | ||
- misspell | ||
- gci | ||
severity: error | ||
|
||
issues: | ||
# use these new lint checks on code since #935 | ||
new-from-rev: 99ab66fdadcd77fef4048bb2aa86cae1f06c6e08 | ||
|
||
# Disable default exclude rules listed in `golangci-lint run --help` (selectively re-enable some below) | ||
exclude-use-default: false | ||
|
||
# Maximum issues count per one linter. Set to 0 to disable. Default is 50. | ||
max-issues-per-linter: 0 | ||
|
||
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3. | ||
max-same-issues: 0 | ||
|
||
exclude: | ||
# ignore govet false positive fixed in https://github.com/golang/go/issues/45043 | ||
- "sigchanyzer: misuse of unbuffered os.Signal channel as argument to signal.Notify" | ||
# ignore golint false positive fixed in https://github.com/golang/lint/pull/487 | ||
- "exported method (.*).Unwrap` should have comment or be unexported" | ||
# ignore issues about the way we use _struct fields to define encoding settings | ||
- "`_struct` is unused" | ||
|
||
# Enable some golangci-lint default exception rules: | ||
# "EXC0001 errcheck: Almost all programs ignore errors on these functions and in most cases it's ok" | ||
- Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked | ||
# "EXC0005 staticcheck: Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore" | ||
- ineffective break statement. Did you mean to break out of the outer loop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
2.10.0 | ||
2.11.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.