Central issue tracker for the GolangCI project

GolangCI

GolangCI is an automated golang codereview tool.

This repository contains the central issue tracker for the GolangCI project.

Other repositories

GolangCI consists of sub-projects. The main ones are:

golangci-api

golangci-api is the Golang server with REST API for golangci-web.

golangci-web

golangci-web is a frontend of golangci.com. It uses React, Redux, Typescript, Webpack.

golib

golib is a small Golang HTTP framework. It's used in golangci-api.

golangci-worker

golangci-worker is the queue worker. When user creates or updates GitHub pull request, golangci-api gets webhook event about it. Then it send this event to distributed queue. golangci-worker handles such queue events and runs code analysis.

Issues, Features

Create issue in central issue tracker. Also you can create issue in one of subprojects repo if you know which one you need.

Contact email is [email protected].

Comments
  • how to set golangci working directory

    how to set golangci working directory

    my source code is in a sub directory of my git repo which called src, so when i run golangci-lint run --new-from-rev=HEAD~ , would the option --new-from-rev works well ?

    i think the option --new-form-rev may read the .git to tell which is the newest commits , but when i tried golangci-lint run src/ it would showed like cannot import absolute path , what should i do

  • Error: failed to load program with go/packages

    Error: failed to load program with go/packages

    I am using go modules and getting the following error.

    $ GOLANGCI_COM_RUN=1 golangci-lint run --out-format=json --issues-exit-code=0 --deadline=5m --new=false --new-from-rev= --new-from-patch=
        Running error: context loading failed: failed to load program with go/packages: go [list -e -json -compiled -test=false -export=false -deps=true -find=false -- ./...]: exit status 2: # github.com/mailchain/mailchain/vendor/github.com/ethereum/go-ethereum/crypto/secp256k1
        vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:42:44: fatal error: libsecp256k1/include/secp256k1.h: No such file or directory
         #include "libsecp256k1/include/secp256k1.h"
                                                    ^
        compilation terminated.
    Error: failed to load program with go/packages
    

    The prepare repo gets the repos but fails checking dependencies.

        Synced deps
        Checking deps...
        internal/pkg/crypto/keys/secp256k1/private.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import C (no metadata for C) (typecheck)
        // Copyright 2019 Finobo
        internal/pkg/mailbox/pubkey.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import C (no metadata for C) (typecheck)
        // Copyright 2019 Finobo
        internal/pkg/clients/etherscan/api.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import C (no metadata for C) (typecheck)
        // Copyright 2019 Finobo
        Deps checking: bad: internal/pkg/crypto/keys/secp256k1/private.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import c (no metadata for c) (typecheck)
        Checking deps...
        internal/pkg/crypto/keys/secp256k1/private.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import C (no metadata for C) (typecheck)
        // Copyright 2019 Finobo
        internal/pkg/mailbox/pubkey.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import C (no metadata for C) (typecheck)
        // Copyright 2019 Finobo
        internal/pkg/clients/etherscan/api.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import C (no metadata for C) (typecheck)
        // Copyright 2019 Finobo
        Deps checking: bad: internal/pkg/crypto/keys/secp256k1/private.go:1: vendor/github.com/ethereum/go-ethereum/crypto/secp256k1/curve.go:45:8: could not import c (no metadata for c) (typecheck)
        [WARN] Failed to sync deps
        [WARN] Failed to fetch dependecies
    

    Do you know how to resolve this?

  • Failure running on orbs-network/orbs-network-go

    Failure running on orbs-network/orbs-network-go

    Hi there Getting weird errors all of a sudden at https://golangci.com/r/github.com/orbs-network/orbs-network-go Used to work up until a few days ago

    Error
    Failed to load program with go/packages: go [list -e -json -compiled -test=false -export=false -deps=true -tags mytag -- ./...]: exit status 1: go build github.com/orbs-network/orbs-spec/types/go/primitives: no Go files in 
    go build github.com/pkg/errors: no Go files in 
    go build github.com/VividCortex/ewma: no Go files in 
    go build github.com/codahale/hdrhistogram: no Go files in 
    go build github.com/orbs-network/membuffers/go: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/protocol: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/services: no Go files in 
    go build golang.org/x/crypto/ed25519: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/protocol/consensus: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/protocol/client: no Go files in 
    go build github.com/orbs-network/go-mock: no Go files in 
    go build github.com/google/go-cmp/cmp: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/services/gossiptopics: no Go files in 
    go build github.com/stretchr/testify/require: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/services/handlers: no Go files in 
    go build github.com/stretchr/testify/assert: no Go files in 
    go build github.com/orbs-network/lean-helix-go: no Go files in 
    go build github.com/orbs-network/orbs-spec/types/go/protocol/gossipmessages: no Go files in 
    go build github.com/orbs-network/lean-helix-go/primitives: no Go files in 
    go build golang.org/x/crypto/ripemd160: no Go files in 
    go build github.com/orbs-network/orbs-contract-sdk/go/sdk: no Go files in 
    "
    
    Warning in prepare repo
    Fetch deps: sync deps: deps check failed: level=warning msg="[runner] can't process result by autogenerated_exclude processor: can't filter issue result.issue{fromlinter:"typecheck", text:"services/blockstorage/sync/harness.go:5:2: cannot find package \"github.com/orbs-network/go-mock\" in any of:\
    \ /tmp/tmp.3tcquuiwte/src/github.com/orbs-network/orbs-network-go/vendor/github.com/orbs-network/go-mock (vendor tree)\
    \ /usr/local/go/src/github.com/orbs-network/go-mock (from $goroot)\
    \ /tmp/tmp.3tcquuiwte/src/github.com/orbs-network/go-mock (from $gopath)", pos:token.position{filename:"", offset:0, line:0, column:0}, linerange:(*result.range)(nil), hunkpos:0, sourcelines:[]string(nil)}: can't parse file : read /tmp/tmp.3tcquuiwte/src/github.com/orbs-network/orbs-network-go: is a directory"
    
  • Support custom build commands

    Support custom build commands

    Feature request from @xcoulon: it's needed e.g. for https://github.com/fabric8-services/fabric8-auth. It will prevent compilation errors because generated files aren't commited.

    1. Maybe we should guess needed commands by analyzing Makefile
    2. We must make one-time isolated containers to safely execute any commands.
    3. We should allow to specify build, deps, etc commands in .golangci.yml
  • golangci not catching junk in PR

    golangci not catching junk in PR

    Hey golangci team, I'm working with the go-swagger team to enable golangci on their repo; however, after we turned it on and sent in a PR full of junk, golangCI says its A-OK :(

    Is there a service level issue? or did we configure something wrong?

    See the pile-o-junk PR here: https://github.com/go-swagger/go-swagger/pull/1580

  • golangci-lint 0.18 support

    golangci-lint 0.18 support

    Seems currently golangci is not supporting the latest version. We rely on this change to support golang 1.13, so we were forced to upgrade but now we aren't getting the great PR feedback. Would be great for this to be supported as well.

    Error messages are like Failed to setup workspace: goenvbuild internal error: setup golangci-lint failed: no available minor version 18, see build log

  • "Can't run golangci-lint: invalid output json, see build log", but no useful information in log

    At https://golangci.com/r/github.com/gonum/gonum/pulls/1129 we see "Can't run golangci-lint: invalid output json, see build log", but as the subject says, there is not useful information in the build log. The only JSON that is shown in the build log is indeed valid.

    Something broken in the backend?

  • Failure running on github.com/go-openapi repos

    Failure running on github.com/go-openapi repos

    Since friday, we have met failures on several PRs on our repos: the GolangCI engine seems unhappy resolving go 11 dependencies with modules.

    Typical messages are:

    ErrorFailed to load program with go/packages: go [list -e -json -compiled -test=true -export=false -deps=true -- ./...]: exit status 1: go build github.com/go-openapi/analysis: no Go files in
    go build github.com/go-openapi/spec: no Go files in
    go build github.com/go-openapi/swag: no Go files in
    "
    

    And:

    Warning in prepare repoFetch deps: go mod: command failed: go: finding github.com/pmezard/go-difflib v1.0.0
    go: finding github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
    go: finding github.com/PuerkitoBio/purell v1.1.0
    go: finding github.com/stretchr/testify v1.2.2
    go: finding github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb
    go: finding github.com/go-openapi/swag v0.17.0
    go: finding github.com/go-openapi/errors v0.17.0
    go: finding github.com/davecgh/go-spew v1.1.1
    go: finding golang.org/x/text v0.3.0
    go: finding gopkg.in/yaml.v2 v2.2.1
    go: finding github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329
    go: finding github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277
    go: finding github.com/go-openapi/jsonreference v0.17.0
    go: verifying github.com/go-openapi/[email protected]/go.mod: checksum mismatch
    downloaded: h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
    go.sum: h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
    : exit status 1
    

    This blocks several PRs: https://github.com/go-openapi/analysis/pull/40 https://github.com/go-openapi/loads/pull/20 https://github.com/go-openapi/loads/pull/21 https://github.com/go-openapi/spec/pull/85

  • golangci is only reviewing the PRs of the person who added golangci

    golangci is only reviewing the PRs of the person who added golangci

    I'm working on a project with multiple developers. I have connected @golangci to our repos and when I create a PR golangci is doing its review. But when someone else is opens a PR there is no review done. Is that a permission issue or do I have to connect golangci in a special way to our repos?

  • "Can't activate repo" when trying to add GolangCI

    Hey! This seems like a cool project so I wanted to try it out. I'm trying to setup adamdecaf/cert-manage with this, but running into an issue.

    I'm using my bot account (@adamdecaf-bot) and getting "Can't activate repo" when clicking "Connect". I assume this is due to permissions on my bot account and repo?

    screen shot 2018-03-10 at 2 55 40 pm

    I searched the code a bit and found the error message, but it looks like the underlying error isn't reported to the user.

  • GolangCI is calling older versions of golangci-lint with --timeout option

    GolangCI is calling older versions of golangci-lint with --timeout option

    Our integrations in GolangCI fail using latest Docker image with error message:

    $ GOLANGCI_COM_RUN=1 golangci-lint run --out-format=json --issues-exit-code=0 --timeout=5m --new=false --new-from-rev= --new-from-patch=../changes.patch
        Can't get config for command line: can't parse args: unknown flag: --timeout
    

    I suspect this is due to deprecation of --deadline switch in favour of --timeout, however the version we request via config (1.18.0) does not support --timeout.

  • Self host golangci Github bot?

    Self host golangci Github bot?

    With the https://golangci.com/ service shutting down, I wonder if it's possible to host our own golangci bot to leave comments on pull requests? My project already runs golangci-lint as part of our CI system, but we also use https://golangci.com mostly to get the PR comments and suggestions. We previously used https://github.com/jenkinsci/violation-comments-to-github-plugin to do this, but prefer the golangci-lint bot because it makes suggestions.

  • Reports SA5008: duplicate struct tag error for valid use

    Reports SA5008: duplicate struct tag error for valid use

    Problem: GolangCI reports an error:

    SA5008: duplicate struct tag "choice" Method string short:"m" long:"method" choice:"get" choice:"put" description:"HTTP method that needs to be presigned" default:"get"

    This is the code line that it complains about:

    Method string `short:"m" long:"method" choice:"get" choice:"put" description:"HTTP method that needs to be presigned" default:"get"`
    

    Here the choice tag used multiple times here. However, according to the documentation for go-flags package, this is the right way to use it: https://godoc.org/github.com/jessevdk/go-flags

    Here is the code snippet:

    var opts struct {
    	Bucket string `short:"b" long:"bucket" description:"S3 bucket" env:"S3_BUCKET" required:"true"`
    	Path   string `short:"p" long:"path" description:"S3 path" env:"S3_PATH" required:"true"`
    	Method string `short:"m" long:"method" choice:"get" choice:"put" description:"HTTP method that needs to be presigned" default:"get"`
    	Expiry int64  `short:"e" long:"expiry" description:"Expiration time for the url in seconds" default:"7200"`
    }
    
    func main() {
    	parser := flags.NewParser(&opts, flags.Default)
    
    	if _, err := parser.Parse(); err != nil {
    		os.Exit(1)
    	}
    }
    

    Expected behaviour: golangCI should not mark it as Failure

  • /repos/github rarely works; returns

    /repos/github rarely works; returns "Server Error"

    https://golangci.com/repos/github only works sometimes for me (@docwhat).

    Usually it will return "Internal Server Error" with HTTP code 500.

    I have a lot of repositories and am linked to a bunch or really big orgs. I've had issue because of that with other GitHub linked services. 😜

  • Organization repository is not shown

    Organization repository is not shown

    I cannot add an organization repo (public), or at least I don't find a way to do so.

    The repo I would like to add is https://github.com/gojisvm/gojis, which was moved from https://github.com/TimSatke/gojis, where I've used golangci successfully.

    I cannot use golangci by editing the webhook, by trying to enter the repo url in the search field manually, or by selecting the repo from the list of my repositories (because it doesn't show up).

    Is there any kind of workaround?

Moby Project - a collaborative project for the container ecosystem to assemble container-based systems
Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

The Moby Project Moby is an open-source project created by Docker to enable and accelerate software containerization. It provides a "Lego set" of tool

Jan 8, 2023
A simple project (which is visitor counter) on kubernetesA simple project (which is visitor counter) on kubernetes

k8s playground This project aims to deploy a simple project (which is visitor counter) on kubernetes. Deploy steps kubectl apply -f secret.yaml kubect

Dec 16, 2022
this Project is base project about restfull API and MySQL

Requirements. This project only supports to run on Ubuntu currently go version >= 1.16 docker docker-compose Install Protobuffer https://github.com/pr

Dec 10, 2021
dockin ops is a project used to handle the exec request for kubernetes under supervision
dockin ops is a project used to handle the exec request for kubernetes under supervision

Dockin Ops - Dockin Operation service English | 中文 Dockin operation and maintenance management system is a safe operation and maintenance management s

Aug 12, 2022
đŸģ The Universal Service Mesh. CNCF Sandbox Project.
đŸģ The Universal Service Mesh. CNCF Sandbox Project.

Kuma is a modern Envoy-based service mesh that can run on every cloud, in a single or multi-zone capacity, across both Kubernetes and VMs. Thanks to i

Aug 10, 2021
The cortex-operator is a project to manage the lifecycle of Cortex in Kubernetes.

cortex-operator The cortex-operator is a project to manage the lifecycle of Cortex in Kubernetes. Project status: alpha Not all planned features are c

Dec 14, 2022
đŸģ The Universal Service Mesh. CNCF Sandbox Project.
đŸģ The Universal Service Mesh. CNCF Sandbox Project.

Kuma is a modern Envoy-based service mesh that can run on every cloud, in a single or multi-zone capacity, across both Kubernetes and VMs. Thanks to i

Jan 8, 2023
This project for solving the problem of chaincode being free from k8s control
This project for solving the problem of chaincode being free from k8s control

Peitho - Hyperledger Fabric chaincode Cloud-native managed system The chaincode of Hyperledger Fabric can be handed over to k8s for management, which

Aug 14, 2022
The GCP Enterprise Cloud Cost Optimiser, or gecco for short, helps teams optimise their cloud project costs.
The GCP Enterprise Cloud Cost Optimiser, or gecco for short, helps teams optimise their cloud project costs.

gecco helps teams optimise their cloud resource costs. Locate abandoned, idle, and inefficiently configured resources quickly. gecco helps teams build

Jan 9, 2022
Using the Golang search the Marvel Characters. This project is a web based golang application that shows the information of superheroes using Marvel api.
Using the Golang search the Marvel Characters. This project is a web based golang application that shows the information of superheroes using Marvel api.

marvel-universe-web using the Golang search the Marvel Universe Characters About The Project This project is a web based golang application that shows

Oct 10, 2021
Go project to manage an ubuntu docker container
Go project to manage an ubuntu docker container

Go-docker-manager This project consist of a Go app that connects to a Docker backend, spans a Ubuntu container and shows live CPU/Memory information f

Oct 27, 2021
Hackathon project with intent to help based on heuristics for aks cluster upgrades.
Hackathon project with intent to help based on heuristics for aks cluster upgrades.

AKS-Upgrade-Doctor AKS Upgrade Doctor is a client side, self-help diagnostic tool designed to identify and detect possible issues that cause upgrade o

Sep 20, 2022
OpenYurt - Extending your native Kubernetes to edge(project under CNCF)
OpenYurt - Extending your native Kubernetes to edge(project under CNCF)

openyurtio/openyurt English | įŽ€äŊ“中文 What is NEW! Latest Release: September 26th, 2021. OpenYurt v0.5.0. Please check the CHANGELOG for details. First R

Jan 7, 2023
OpenAIOS vGPU scheduler for Kubernetes is originated from the OpenAIOS project to virtualize GPU device memory.
OpenAIOS vGPU scheduler for Kubernetes is originated from the OpenAIOS project to virtualize GPU device memory.

OpenAIOS vGPU scheduler for Kubernetes English version|中文į‰ˆ Introduction 4paradigm k8s vGPU scheduler is an "all in one" chart to manage your GPU in k8

Jan 3, 2023
The project aims to provide the utility for Kunlun-Cluster aka KTS

Kunlun Tool Set Description This project aims to provide the utility for Kunlun-Cluster aka 'KTS' Including but not limited to backup/restore tools...

Jul 1, 2022
NFGateway main project repository
NFGateway main project repository

NFGateway NFGateway is the main module of the Network Function over Serverless System (NFoS System). The NFoS System is the result of the M.S. Thesis

Nov 28, 2021
Horusec is an open source tool that improves identification of vulnerabilities in your project with just one command.
Horusec is an open source tool that improves identification of vulnerabilities in your project with just one command.

Table of contents 1. About 2. Getting started 2.1. Requirements 2.2. Installation 3. Usage 3.1. CLI Usage 3.2. Using Docker 3.3. Older versions 3.4. U

Jan 7, 2023
A best practices Go source project with unit-test and integration test, also use skaffold & helm to automate CI & CD at local to optimize development cycle

Dependencies Docker Go 1.17 MySQL 8.0.25 Bootstrap Run chmod +x start.sh if start.sh script does not have privileged to run Run ./start.sh --bootstrap

Apr 4, 2022