workflows:
  version: 2
  main:
    jobs:
      - go-current
      - go-previous
      - go-latest
base: &base
  working_directory: /go/src/github.com/spf13/cobra
  steps:
    - checkout
    - run:
        name: "All Commands"
        command: |
          mkdir -p bin
          curl -Lso bin/shellcheck https://github.com/caarlos0/shellcheck-docker/releases/download/v0.4.3/shellcheck
          chmod +x bin/shellcheck
          go get -t -v ./...
          PATH=$PATH:$PWD/bin go test -v ./...
          go build
          diff -u <(echo -n) <(gofmt -d -s .)
          if [ -z $NOVET ]; then
            diff -u <(echo -n) <(go tool vet . 2>&1 | grep -vE 'ExampleCommand|bash_completions.*Fprint');
          fi
version: 2
jobs:
  go-current:
    docker:
      - image: circleci/golang:1.8.3
    <<: *base
  go-previous:
    docker:
      - image: circleci/golang:1.7.6
    <<: *base
  go-latest:
    docker:
      - image: circleci/golang:latest
    <<: *base
