Использование golang-ci-lint в кружках - PullRequest
1 голос
/ 04 ноября 2019

У меня есть Makefile, который запускает некоторые цели на круге. Это цель Makefile

install_lint:
    curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s v1.21.0

Когда я бегу по второй цели golangci-lint --version Я получил ошибку golangci-lint: Command not found

Я пытался также с этим

curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.21.0

, поскольку я бегущий докер 1.13.2

version: 2
jobs:
  build:
    docker:
      - image: circleci/golang:1.13.3

Любая идея, что мне здесь не хватает? как сделать бинарный файл пригодным для использования?

Я также пробовал что-то вроде

install_lint:

    curl -sLO https://github.com/golangci/golangci-lint/releases/download/v${GOLANGCI_VERSION}/golangci-lint-${GOLANGCI_VERSION}-linux-amd64.tar.gz
    tar -xzvf golangci-lint-${GOLANGCI_VERSION}-linux-amd64.tar.gz
    cp golangci-lint-${GOLANGCI_VERSION}-linux-amd64/golangci-lint /usr/local/bin/golangci-lint && chmod +x /usr/local/bin/golangci-lint

, и я получил ошибку

cp: cannot create regular file '/usr/local/bin/golangci-lint': Permission denied

1 Ответ

0 голосов
/ 06 ноября 2019

То, как я это делаю, это

1 - я позволяю окружности CI установить golangci-lint

curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.20.0

2- Мой файл make содержит только golangci-lint call

lint: 
    @golangci-lint run

3-Circle CI step call мой make-файл

validate-lint:
    ...
    steps:
      - run:
          name: "Validate lint"
          command: |
            curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.20.0
            make lint
...