intel / ccloudvm

Configurable Cloud VM is a small command line tool for automatically creating development and demo environments for complex projects. The tool sets up these development environments inside a virtual machine which it automatically creates on the user’s host computer. This avoids polluting the user’s host machine with components from the chosen development environment and provides a clean, predictable and repeatable environment in which this development environment can run.
Apache License 2.0
32 stars 19 forks source link

Switch go linters #109

Closed ganeshmaharaj closed 5 years ago

ganeshmaharaj commented 5 years ago

gometalinter is now officially deprecated and will be archived end of Q1. Their recommendation is to switch to golangci-lint(https://github.com/golangci/golangci-lint) which is apparently 5x faster than gometalinter

Signed-off-by: Ganesh Maharaj Mahalingam ganesh.mahalingam@intel.com

coveralls commented 5 years ago

Coverage Status

Coverage increased (+0.7%) to 68.916% when pulling 8406b52f789e0544b2f852668ab203200049a30c on ganeshmaharaj:new-linter into 3403d97ad5500d5dce5aeaf94fc5c767504d4223 on intel:master.

mcastelino commented 5 years ago

LGTM

ganeshmaharaj commented 5 years ago

This is the output of using this file.

ganeshma|ganeshma-desk|ccloudvm >>> golangci-lint run -c ./.golangci.yml  -v                                                                                                                                                                                                      
INFO [config_reader] Used config file .golangci.yml                                                                                                                                                                                                                               
INFO [lintersdb] Active 13 linters: [deadcode errcheck gocyclo gofmt gosimple govet ineffassign misspell staticcheck structcheck typecheck unused varcheck]
INFO [lintersdb] Optimized sublinters [staticcheck gosimple unused] into metalinter megacheck
INFO [loader] Go packages loading at mode load deps types and syntax took 1.282867536s                                                                     
INFO [loader] SSA repr building timing: packages building 17.907584ms, total 240.981552ms    
INFO [runner] worker.9 took 25.003?s with stages: typecheck: 14.457?s                                                                                                                                          
INFO [runner] worker.4 took 3.562?s                                                      
INFO [runner] worker.2 took 2.060457ms with stages: gocyclo: 2.044464ms
INFO [runner] worker.11 took 2.375162ms with stages: errcheck: 2.363359ms                           
INFO [runner] worker.10 took 2.615346ms with stages: structcheck: 2.603753ms
INFO [runner] worker.6 took 3.556249ms with stages: deadcode: 3.542559ms 
INFO [runner] worker.5 took 4.522363ms with stages: varcheck: 4.507906ms    
INFO [runner] worker.3 took 23.347173ms with stages: govet: 23.322798ms 
INFO [runner] worker.12 took 25.391846ms with stages: ineffassign: 25.378646ms                     
INFO [runner] worker.8 took 32.017619ms with stages: misspell: 32.00407ms
INFO [runner] worker.1 took 45.170479ms with stages: gofmt: 45.158536ms         
INFO [runner] worker.7 took 754.96926ms with stages: megacheck: 754.954523ms                        
INFO [runner] Workers idle times: #1: 709.748006ms, #2: 752.80397ms, #3: 731.629769ms, #4: 754.642053ms, #5: 750.248408ms, #6: 751.191894ms, #8: 722.903939ms, #9: 754.691361ms, #10: 752.197399ms, #11: 752.427176ms, #12: 729.456727ms
INFO [runner] Issues before processing: 1, after processing: 0              
INFO [runner] processing took 510.961?s with stages: identifier_marker: 201.074?s, exclude: 83.39?s, skip_dirs: 82.343?s, autogenerated_exclude: 47.143?s, path_prettifier: 35.34?s, cgo: 19.904?s, max_same_issues: 4.051?s, max_from_linter: 3.981?s, nolint: 3.98?s, exclude-r$
les: 3.912?s, replacement_builder: 3.841?s, source_code: 3.841?s, diff: 3.771?s, uniq_by_line: 3.702?s, max_per_file_from_linter: 3.632?s, skip_files: 3.563?s, path_shortener: 3.493?s
INFO Memory: 24 samples, avg is 356.3MB, max is 678.7MB                                                                                                                                                                                                                           
INFO Execution took 2.339984854s                                                                                                                                                       
markdryan commented 5 years ago

@ganeshmaharaj It looks fine apart from the Gopkg.lock. Why did this file change? We haven't changed any of the vendored components have we?

ganeshmaharaj commented 5 years ago

@markdryan no, we haven't changed any of the vendor components for this to work. I just ran dep ensure on the repo before building and this all got changed. This is the dep version that i am running

ganeshma|ganeshma-desk|ccloudvm >>> dep version
dep:
 version     : devel
 build date  : 
 git hash    : 
 go version  : go1.11.5
 go compiler : gc
 platform    : linux/amd64
 features    : ImportDuringSolve=false

I have removed the changes on Gopkg and did test compile and they all work including the new linter.