Skip to content

Commit 7bebef7

Browse files
authored
add lint.sh script
This adds a Bash script, lint.sh, for linting all modules in the same way all the modules are tested. The script will lint all modules in the workspace root, or in a directory specified in an input arg. Fix lint uncovered by this to pass Travis.
1 parent 438f3c5 commit 7bebef7

File tree

7 files changed

+93
-38
lines changed

7 files changed

+93
-38
lines changed

db/cache/addresscache.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1140,7 +1140,7 @@ func (ac *AddressCache) StoreRowsCompact(addr string, rows []dbtypes.AddressRowC
11401140
ac.mtx.Lock()
11411141
defer ac.mtx.Unlock()
11421142

1143-
if block != nil && rows == nil {
1143+
if rows == nil {
11441144
rows = []dbtypes.AddressRowCompact{}
11451145
}
11461146

db/dbtypes/go.mod

+1-6
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,9 @@ require (
88
github.com/decred/dcrd/blockchain/stake v1.1.0
99
github.com/decred/dcrd/chaincfg v1.4.0
1010
github.com/decred/dcrd/chaincfg/chainhash v1.0.1
11-
github.com/decred/dcrd/dcrec v0.0.0-20190413175304-e69a789183f3 // indirect
12-
github.com/decred/dcrd/dcrec/edwards v0.0.0-20190413175304-e69a789183f3 // indirect
1311
github.com/decred/dcrd/dcrutil v1.2.1-0.20190118223730-3a5281156b73
1412
github.com/decred/dcrd/txscript v1.0.3-0.20190402182842-879eebce3333
1513
github.com/decred/dcrd/wire v1.2.0
1614
github.com/decred/dcrdata/db/dcrpg v1.0.0
17-
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190415153927-351272ba94ab
18-
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect
19-
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2 // indirect
20-
golang.org/x/sys v0.0.0-20190416124237-ebb4019f01c9 // indirect
15+
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190416204615-70a58657e02f
2116
)

db/dbtypes/go.sum

+21-8
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ github.com/DataDog/zstd v1.3.5 h1:DtpNbljikUepEPD16hD4LvIcmhnhdLTiW/5pHgbmp14=
44
github.com/DataDog/zstd v1.3.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
55
github.com/Sereal/Sereal v0.0.0-20181211220259-509a78ddbda3 h1:Xu7z47ZiE/J+sKXHZMGxEor/oY2q6dq51fkO0JqdSwY=
66
github.com/Sereal/Sereal v0.0.0-20181211220259-509a78ddbda3/go.mod h1:D0JMgToj/WdxCgd30Kc1UcA9E+WdZoJqeVOuYW7iTBM=
7-
github.com/Sereal/Sereal v0.0.0-20190226181601-237c2cca198f h1:99C4f5FJQChWyzMSpZPU4eUv3kjFmjxyWy8t2rlbUcs=
8-
github.com/Sereal/Sereal v0.0.0-20190226181601-237c2cca198f/go.mod h1:D0JMgToj/WdxCgd30Kc1UcA9E+WdZoJqeVOuYW7iTBM=
7+
github.com/Sereal/Sereal v0.0.0-20190416075407-a9d24ede505a h1:Bko8Pi4GKR2wdRwsTXWkEiH3LUcZ6HpgvgYcMZGMd50=
8+
github.com/Sereal/Sereal v0.0.0-20190416075407-a9d24ede505a/go.mod h1:D0JMgToj/WdxCgd30Kc1UcA9E+WdZoJqeVOuYW7iTBM=
99
github.com/aead/siphash v0.0.0-20170329201724-e404fcfc8885/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
1010
github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412 h1:w1UutsfOrms1J05zt7ISrnJIXKzwaspym5BTKGx93EI=
1111
github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0=
@@ -87,22 +87,34 @@ github.com/decred/dcrd/wire v1.2.0 h1:HqJVB7vcklIguzFWgRXw/WYCQ9cD3bUC5TKj53i1Hn
8787
github.com/decred/dcrd/wire v1.2.0/go.mod h1:/JKOsLInOJu6InN+/zH5AyCq3YDIOW/EqcffvU8fJHM=
8888
github.com/decred/dcrdata/api/types v1.0.6 h1:ipZ7bN/9RE1rOKa2IYXe7yVoxs6e6Bfs8bCNzsJzMOY=
8989
github.com/decred/dcrdata/api/types v1.0.6/go.mod h1:BuRGiCMg2EhpvAWp8ezLZ+mbLC8fcfKMX/q3PYfUgHk=
90+
github.com/decred/dcrdata/api/types v1.0.7-0.20190416202529-23d1eb95ca1b/go.mod h1:SoKatDkG+xdL5T7lKyKaO2c7JgvKVikZiBZDCJBbS6g=
91+
github.com/decred/dcrdata/api/types v1.0.7-0.20190416204615-70a58657e02f h1:nu6xgP5MyCrGObGc4ojOLEpiyWLupbmezP2WyEE1A+0=
92+
github.com/decred/dcrdata/api/types v1.0.7-0.20190416204615-70a58657e02f/go.mod h1:SoKatDkG+xdL5T7lKyKaO2c7JgvKVikZiBZDCJBbS6g=
9093
github.com/decred/dcrdata/blockdata v1.0.1 h1:tWaEaYpYEXuT39k/U7e2PAiV3eHuofq6SIxa2yW3TeQ=
9194
github.com/decred/dcrdata/blockdata v1.0.1/go.mod h1:7gRh/YmQa6v5Uf/EXpNjtbYveCFoIA5sF6l+GVcNkJA=
9295
github.com/decred/dcrdata/db/cache v1.0.1 h1:sqE2RXy6jNhhWdRHASJZyHsaipYRpDlGxEHN8OtLe6U=
9396
github.com/decred/dcrdata/db/cache v1.0.1/go.mod h1:WPkmV72Cal2OOjt4bG35XrjzSqspxMqvWAGpwUUw1B4=
9497
github.com/decred/dcrdata/db/dbtypes v1.0.1/go.mod h1:d9qVcMl+l5rOEY7zJB5nqQ0WDEHof9vWlW/9hpK0xpc=
95-
github.com/decred/dcrdata/db/dbtypes v1.0.2-0.20190402170540-10fdc522fdb0/go.mod h1:LudmFCLYI971HqEmz6TGEZBlXZtai6AOsynv5L8GRWw=
98+
github.com/decred/dcrdata/db/dbtypes v1.0.2-0.20190416155607-25afe5d5e790/go.mod h1:yPNF/Tsj3pLBxofu2Pr70hqejMYpCZHvcudkexvq0hQ=
99+
github.com/decred/dcrdata/db/dbtypes v1.0.2-0.20190416204615-70a58657e02f/go.mod h1:yPNF/Tsj3pLBxofu2Pr70hqejMYpCZHvcudkexvq0hQ=
96100
github.com/decred/dcrdata/rpcutils v1.0.1 h1:6QRdrsD71sfhQbDp6wMt3tgsck+0MW0N7bB4ZnWL7mA=
97101
github.com/decred/dcrdata/rpcutils v1.0.1/go.mod h1:ZQ3lZzgIiyE75+4CL3d8rDGJZLxd+ftbgWX1jAPSco8=
102+
github.com/decred/dcrdata/rpcutils v1.0.2-0.20190416204615-70a58657e02f h1:nXVy/hPkQdOl6T/ZbuK+nJPsQrYQZMSEzjK7zNHYQWk=
103+
github.com/decred/dcrdata/rpcutils v1.0.2-0.20190416204615-70a58657e02f/go.mod h1:C3AHmGnowefElk25N32tQKwBuJ2tP6zyJIlsnsDLNiM=
98104
github.com/decred/dcrdata/semver v1.0.0 h1:DBqYU/x+4LqHq/3r4xKdF6xG5ewktG2KDC+g/p3f8mc=
99105
github.com/decred/dcrdata/semver v1.0.0/go.mod h1:z+nQqiAd9fYkHhBLbejysZ2FPHtgkrErWDgMf+JlZWE=
100106
github.com/decred/dcrdata/stakedb v1.0.1 h1:ncEsHgYrlGQAkza/RIGJQUuNsmFn4jdLlOt0w/Z7D0c=
101107
github.com/decred/dcrdata/stakedb v1.0.1/go.mod h1:zEJ8qEtmxJLRK3IAfbpleAW2qvpWuldeBrLpz/amQjE=
108+
github.com/decred/dcrdata/testutil/dbconfig v1.0.0 h1:s3/qLJ8KDTaDJvz2E8/4YaLfn3mY4SDLImZVP/aEj0k=
109+
github.com/decred/dcrdata/testutil/dbconfig v1.0.0/go.mod h1:ULWGbJMk5n/KvPe3/frMWM8BPhU0uLiKKhSYkYb9stE=
102110
github.com/decred/dcrdata/txhelpers v1.0.1 h1:KIIxb23/QI0nLFV4DV+cNaBf7hJKv1AYxy8h3ebTnmI=
103111
github.com/decred/dcrdata/txhelpers v1.0.1/go.mod h1:oZOlm7v82oD5SIy1wlOBG0OT92CMfmKg05wk+2qaSaM=
104112
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190415153927-351272ba94ab h1:379fs6a+qFNID62SesduQZjzT59VQGfqdVjPDzCprhM=
105113
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190415153927-351272ba94ab/go.mod h1:IyxuqUxIPrHnOmRy9DCl90oqw7FxYHde/fkIkF21B7w=
114+
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190416155607-25afe5d5e790/go.mod h1:IyxuqUxIPrHnOmRy9DCl90oqw7FxYHde/fkIkF21B7w=
115+
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190416161040-1dc819eb191d/go.mod h1:IyxuqUxIPrHnOmRy9DCl90oqw7FxYHde/fkIkF21B7w=
116+
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190416204615-70a58657e02f h1:UHK/F4XLVGFisd1qbP8ILmJG8AM6ShzgfhCTNH/iExw=
117+
github.com/decred/dcrdata/txhelpers v1.0.2-0.20190416204615-70a58657e02f/go.mod h1:IyxuqUxIPrHnOmRy9DCl90oqw7FxYHde/fkIkF21B7w=
106118
github.com/decred/dcrwallet/rpc/jsonrpc/types v1.0.0 h1:FPVohgxZHHwi7qTOBki/Dw9j5cgGsZYiktGSfgqHR0w=
107119
github.com/decred/dcrwallet/rpc/jsonrpc/types v1.0.0/go.mod h1:k+IOPnUY0YqlwhSDhczzaUN17NX/gMtztwl3UxKgVZY=
108120
github.com/decred/slog v1.0.0 h1:Dl+W8O6/JH6n2xIFN2p3DNjCmjYwvrXsjlSJTQQ4MhE=
@@ -111,8 +123,8 @@ github.com/dgraph-io/badger v1.5.5-0.20190214192501-3196cc1d7a5f h1:zpnMq37RjYYJ
111123
github.com/dgraph-io/badger v1.5.5-0.20190214192501-3196cc1d7a5f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ=
112124
github.com/dgryski/go-farm v0.0.0-20190323231341-8198c7b169ec h1:sElGDs3V8VdCxH5tWi0ycWJzteOPLJ3HtItSSKI95PY=
113125
github.com/dgryski/go-farm v0.0.0-20190323231341-8198c7b169ec/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
114-
github.com/dmigwi/go-piparser/proposals v0.0.0-20190411222856-0732954b2d46 h1:7KNcotki/7608UlREIiMt2Hvt1buNquIjc0y502r/Oc=
115-
github.com/dmigwi/go-piparser/proposals v0.0.0-20190411222856-0732954b2d46/go.mod h1:W32k3EjyoIwHKldGzl4Do26mlHQDtvM8R7nKiKJ81K4=
126+
github.com/dmigwi/go-piparser/proposals v0.0.0-20190415205832-3992790812af h1:pQhTnsKtQ/qmW0qu4d2RRSC+HTp3N+kOsI9+ynZlPEk=
127+
github.com/dmigwi/go-piparser/proposals v0.0.0-20190415205832-3992790812af/go.mod h1:bVFHMc7PF69eSpDREy2MnoZYr8YMQjGDEUJudtQUEis=
116128
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
117129
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
118130
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
@@ -136,8 +148,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
136148
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
137149
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
138150
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
139-
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
140-
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
151+
github.com/lib/pq v1.1.0 h1:/5u4a+KGJptBRqGzPvYQL9p0d/tPR4S31+Tnzj9lEO4=
152+
github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
141153
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
142154
github.com/onsi/ginkgo v1.7.0 h1:WSHQ+IS43OoUrWtD1/bbclrwK8TTH5hzp+umCiuxHgs=
143155
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -178,7 +190,6 @@ golang.org/x/net v0.0.0-20180808004115-f9ce57c11b24/go.mod h1:mL1N/T3taQHkDXs73r
178190
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
179191
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3 h1:ulvT7fqt0yHWzpJwI57MezWnYDVpCAYBVuYst/L+fAY=
180192
golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
181-
golang.org/x/net v0.0.0-20190328230028-74de082e2cca/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
182193
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2 h1:iC0Y6EDq+rhnAePxGvJs2kzUAYcwESqdcGRPzEUfzTU=
183194
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
184195
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -196,6 +207,8 @@ golang.org/x/sys v0.0.0-20190402142545-baf5eb976a8c/go.mod h1:h1NjWce9XRLGQEsW7w
196207
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
197208
golang.org/x/sys v0.0.0-20190416124237-ebb4019f01c9 h1:e1T1QUX8chjzV4eCvWjanzvBcKUz6POCB+o+g5iGFa0=
198209
golang.org/x/sys v0.0.0-20190416124237-ebb4019f01c9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
210+
golang.org/x/sys v0.0.0-20190416152802-12500544f89f h1:1ZH9RnjNgLzh6YrsRp/c6ddZ8Lq0fq9xztNOoWJ2sz4=
211+
golang.org/x/sys v0.0.0-20190416152802-12500544f89f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
199212
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
200213
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
201214
google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=

exchanges/exchanges.go

+7-12
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,8 @@ type DepthData struct {
195195

196196
// IsFresh will be true if the data is older than depthDataExpiration.
197197
func (depth *DepthData) IsFresh() bool {
198-
if time.Duration(time.Now().Unix()-depth.Time)*time.Second < depthDataExpiration {
199-
return true
200-
}
201-
return false
198+
return time.Duration(time.Now().Unix()-depth.Time)*
199+
time.Second < depthDataExpiration
202200
}
203201

204202
// Candlestick is the record of price change over some bin width of time.
@@ -228,10 +226,7 @@ func (sticks Candlesticks) needsUpdate(bin candlestickKey) bool {
228226
return true
229227
}
230228
lastStick := sticks[len(sticks)-1]
231-
if time.Now().After(lastStick.Start.Add(bin.duration() * 2)) {
232-
return true
233-
}
234-
return false
229+
return time.Now().After(lastStick.Start.Add(bin.duration() * 2))
235230
}
236231

237232
// ExchangeState is the simple template for a price. The only member that is
@@ -1279,7 +1274,7 @@ func badDragonexStickElement(key string, err error) Candlesticks {
12791274
return Candlesticks{}
12801275
}
12811276

1282-
func (data DragonExCandlestickData) translate(cKey candlestickKey) Candlesticks {
1277+
func (data DragonExCandlestickData) translate( /*cKey candlestickKey*/ ) Candlesticks {
12831278
sticks := make(Candlesticks, 0, len(data.Lists))
12841279
var idx int
12851280
var err error
@@ -1451,7 +1446,7 @@ func (dragonex *DragonExchange) Refresh() {
14511446
log.Errorf("DragonEx server error while fetching candlestick data. Message: %s", response.Msg)
14521447
}
14531448

1454-
sticks := response.Data.translate(bin)
1449+
sticks := response.Data.translate()
14551450
if !found || sticks.time().After(oldSticks.time()) {
14561451
candlesticks[bin] = sticks
14571452
}
@@ -1806,7 +1801,7 @@ type PoloniexCandlestickPt struct {
18061801

18071802
type PoloniexCandlestickResponse []*PoloniexCandlestickPt
18081803

1809-
func (r PoloniexCandlestickResponse) translate(bin candlestickKey) Candlesticks {
1804+
func (r PoloniexCandlestickResponse) translate( /*bin candlestickKey*/ ) Candlesticks {
18101805
sticks := make(Candlesticks, 0, len(r))
18111806
for _, stick := range r {
18121807
sticks = append(sticks, Candlestick{
@@ -1880,7 +1875,7 @@ func (poloniex *PoloniexExchange) Refresh() {
18801875
continue
18811876
}
18821877

1883-
sticks := response.translate(bin)
1878+
sticks := response.translate()
18841879
if !found || sticks.time().After(oldSticks.time()) {
18851880
candlesticks[bin] = sticks
18861881
}

exchanges/go.mod

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ require (
1212
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2 // indirect
1313
golang.org/x/sys v0.0.0-20190416124237-ebb4019f01c9 // indirect
1414
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 // indirect
15+
google.golang.org/appengine v1.4.0 // indirect
1516
google.golang.org/genproto v0.0.0-20190415143225-d1146b9035b9 // indirect
1617
google.golang.org/grpc v1.20.0
1718
)

lint.sh

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Lint all modules.
4+
#
5+
# lint.sh - lints all modules in the repository root, or the current folder if
6+
# not in a git workspace.
7+
#
8+
# lint.sh [folder] - lints all modules in the specified folder.
9+
10+
REPO=`git rev-parse --show-toplevel 2> /dev/null`
11+
if [[ $? != 0 ]]; then
12+
REPO=`pwd`
13+
fi
14+
15+
# Root is the input argument, or REPO if no input argument.
16+
ROOT=${1:-$REPO}
17+
echo "Linting all modules under" $ROOT
18+
19+
set -e
20+
21+
shopt -s expand_aliases
22+
23+
export GO111MODULE=on
24+
25+
go version
26+
27+
pushd $ROOT > /dev/null
28+
29+
ROOTPATH=$(go list -m -f {{.Dir}} 2>/dev/null)
30+
ROOTPATHPATTERN=$(echo $ROOTPATH | sed 's/\\/\\\\/g' | sed 's/\//\\\//g')
31+
MODPATHS=$(go list -m -f {{.Dir}} all 2>/dev/null | grep "^$ROOTPATHPATTERN")
32+
33+
alias superlint='golangci-lint run --deadline=10m \
34+
--disable-all \
35+
--enable govet \
36+
--enable staticcheck \
37+
--enable gosimple \
38+
--enable unconvert \
39+
--enable ineffassign \
40+
--enable structcheck \
41+
--enable goimports \
42+
--enable misspell \
43+
--enable unparam'
44+
45+
# run lint on all listed modules
46+
set +e
47+
ERROR=0
48+
trap 'ERROR=$?' ERR
49+
for MODPATH in $MODPATHS; do
50+
pushd $MODPATH > /dev/null
51+
MOD=$(go list -m)
52+
echo "Linting:" $MOD
53+
superlint
54+
popd > /dev/null
55+
done
56+
57+
popd > /dev/null # ROOT
58+
59+
if [ $ERROR -ne 0 ]; then
60+
exit $ERROR
61+
fi

run_tests.sh

+1-11
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,7 @@ testrepo () {
5050
done
5151

5252
# check linters
53-
golangci-lint run --deadline=10m \
54-
--disable-all \
55-
--enable govet \
56-
--enable staticcheck \
57-
--enable gosimple \
58-
--enable unconvert \
59-
--enable ineffassign \
60-
--enable structcheck \
61-
--enable goimports \
62-
--enable misspell \
63-
--enable unparam
53+
./lint.sh
6454

6555
# webpack
6656
npm install

0 commit comments

Comments
 (0)