Skip to content

Commit 468ba5b

Browse files
authored
Merge pull request #1 from tendermint/marko/add_linting
add linter and add linting in ci
2 parents 7ee0929 + 805fc1e commit 468ba5b

6 files changed

Lines changed: 90 additions & 19 deletions

File tree

.github/workflows/lint.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Lint
2+
# Lint runs golangci-lint over the entire repository
3+
# This workflow is run on every pull request and push to master
4+
# The `golangci` will pass without running if no *.{go, mod, sum} files have been changed.
5+
on:
6+
pull_request:
7+
push:
8+
branches:
9+
- master
10+
jobs:
11+
golangci:
12+
name: golangci-lint
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 6
15+
steps:
16+
- uses: actions/checkout@v2
17+
- uses: technote-space/get-diff-action@v1
18+
with:
19+
SUFFIX_FILTER: |
20+
.go
21+
.mod
22+
.sum
23+
- uses: golangci/golangci-lint-action@master
24+
with:
25+
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
26+
version: v1.27
27+
args: --timeout 10m
28+
github-token: ${{ secrets.github_token }}
29+
if: "env.GIT_DIFF != ''"

.golangci.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
run:
2+
tests: false
3+
# # timeout for analysis, e.g. 30s, 5m, default is 1m
4+
# timeout: 5m
5+
6+
linters:
7+
disable-all: true
8+
enable:
9+
- bodyclose
10+
- deadcode
11+
- depguard
12+
- dogsled
13+
# - errcheck
14+
- goconst
15+
- gocritic
16+
- gofmt
17+
- goimports
18+
- golint
19+
- gosec
20+
- gosimple
21+
- govet
22+
- ineffassign
23+
- interfacer
24+
- maligned
25+
- misspell
26+
- nakedret
27+
- prealloc
28+
- scopelint
29+
- staticcheck
30+
- structcheck
31+
- stylecheck
32+
- typecheck
33+
- unconvert
34+
- unused
35+
- unparam
36+
- misspell
37+
# - wsl
38+
- nolintlint
39+
40+
issues:
41+
max-issues-per-linter: 10000
42+
max-same-issues: 10000

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,10 @@ install: build ui
1919

2020
cli: build
2121
@go install -mod=readonly ./...
22+
23+
lint:
24+
golangci-lint run --out-format=tab --issues-exit-code=0
25+
find . -name '*.go' -type f -not -path "./vendor*" -not -path "*.git*" | xargs gofmt -d -s
26+
.PHONY: lint
2227

23-
.PHONY: all mod build ui install
28+
.PHONY: all mod build ui install

cmd/serve.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ func startServe(verbose bool) (*exec.Cmd, *exec.Cmd) {
4141
log.Fatal("Error in initializing the chain. Please, check ./init.sh")
4242
}
4343
fmt.Printf("🎨 Created a web front-end.\n")
44-
cmdTendermint := exec.Command(fmt.Sprintf("%[1]vd", appName), "start")
44+
cmdTendermint := exec.Command(fmt.Sprintf("%[1]vd", appName), "start") //nolint:gosec // Subprocess launched with function call as argument or cmd arguments
4545
if verbose {
4646
fmt.Printf("🌍 Running a server at http://localhost:26657 (Tendermint)\n")
4747
cmdTendermint.Stdout = os.Stdout
@@ -51,7 +51,7 @@ func startServe(verbose bool) (*exec.Cmd, *exec.Cmd) {
5151
if err := cmdTendermint.Start(); err != nil {
5252
log.Fatal(fmt.Sprintf("Error in running %[1]vd start", appName), err)
5353
}
54-
cmdREST := exec.Command(fmt.Sprintf("%[1]vcli", appName), "rest-server")
54+
cmdREST := exec.Command(fmt.Sprintf("%[1]vcli", appName), "rest-server") //nolint:gosec // Subprocess launched with function call as argument or cmd arguments
5555
if verbose {
5656
fmt.Printf("🌍 Running a server at http://localhost:1317 (LCD)\n")
5757
cmdREST.Stdout = os.Stdout
@@ -86,7 +86,7 @@ var serveCmd = &cobra.Command{
8686
go func() {
8787
for {
8888
select {
89-
case _ = <-w.Event:
89+
case <-w.Event:
9090
cmdr.Process.Kill()
9191
cmdt.Process.Kill()
9292
cmdt, cmdr = startServe(verbose)

templates/app/new.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package app
22

33
import (
4-
"fmt"
54
"strings"
65

76
"github.com/gobuffalo/genny"
@@ -20,10 +19,9 @@ func New(opts *Options) (*genny.Generator, error) {
2019
ctx.Set("ModulePath", opts.ModulePath)
2120
ctx.Set("AppName", opts.AppName)
2221
ctx.Set("Denom", opts.Denom)
23-
ctx.Set("title", func(s string) string {
24-
return strings.Title(s)
25-
})
22+
ctx.Set("title", strings.Title)
23+
2624
g.Transformer(plushgen.Transformer(ctx))
27-
g.Transformer(genny.Replace("{{appName}}", fmt.Sprintf("%s", opts.AppName)))
25+
g.Transformer(genny.Replace("{{appName}}", opts.AppName))
2826
return g, nil
2927
}

templates/typed/new.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ func New(opts *Options) (*genny.Generator, error) {
3232
ctx.Set("TypeName", opts.TypeName)
3333
ctx.Set("ModulePath", opts.ModulePath)
3434
ctx.Set("Fields", opts.Fields)
35-
ctx.Set("title", func(s string) string {
36-
return strings.Title(s)
37-
})
35+
ctx.Set("title", strings.Title)
3836
ctx.Set("strconv", func() bool {
3937
strconv := false
4038
for _, field := range opts.Fields {
@@ -45,15 +43,14 @@ func New(opts *Options) (*genny.Generator, error) {
4543
return strconv
4644
})
4745
g.Transformer(plushgen.Transformer(ctx))
48-
g.Transformer(genny.Replace("{{appName}}", fmt.Sprintf("%s", opts.AppName)))
49-
g.Transformer(genny.Replace("{{typeName}}", fmt.Sprintf("%s", opts.TypeName)))
50-
g.Transformer(genny.Replace("{{TypeName}}", fmt.Sprintf("%s", strings.Title(opts.TypeName))))
46+
g.Transformer(genny.Replace("{{appName}}", opts.AppName))
47+
g.Transformer(genny.Replace("{{typeName}}", opts.TypeName))
48+
g.Transformer(genny.Replace("{{TypeName}}", opts.TypeName))
5149
return g, nil
5250
}
5351

5452
const placeholder = "// this line is used by starport scaffolding"
5553
const placeholder2 = "// this line is used by starport scaffolding # 2"
56-
const placeholder3 = "// this line is used by starport scaffolding # 3"
5754
const placeholder4 = "<!-- this line is used by starport scaffolding # 4 -->"
5855

5956
func handlerModify(opts *Options) genny.RunFn {
@@ -230,10 +227,10 @@ func uiIndexModify(opts *Options) genny.RunFn {
230227
<div class="type-%[1]v-list-%[1]v"></div>
231228
<h3>Create a new %[1]v:</h3>`, opts.TypeName)
232229
for _, field := range opts.Fields {
233-
template = template + fmt.Sprintf(`
230+
template += fmt.Sprintf(`
234231
<input placeholder="%[1]v" class="type-%[2]v-field-%[1]v" type="text" />`, field.Name, opts.TypeName)
235232
}
236-
template = template + fmt.Sprintf(`
233+
template += fmt.Sprintf(`
237234
<button class="type-%[1]v-create">Create %[1]v</button>
238235
`, opts.TypeName) + " " + placeholder4
239236
content := strings.Replace(f.String(), placeholder4, template, 1)
@@ -251,7 +248,7 @@ func uiScriptModify(opts *Options) genny.RunFn {
251248
}
252249
fields := ""
253250
for _, field := range opts.Fields {
254-
fields = fields + fmt.Sprintf("\"%[1]v\", ", field.Name)
251+
fields += fmt.Sprintf("\"%[1]v\", ", field.Name)
255252
}
256253
template := `%[1]v
257254
["%[2]v", [%[3]v]],`

0 commit comments

Comments
 (0)