text: box: yosssi/golang-latest@1.0.9
  # Build definition
  build:
    # The steps that will be executed on build
    steps:
      # Sets the go workspace and places you package
      # at the right place in the workspace tree
      - setup-go-workspace
  
      # Gets the dependencies
      - script:
          name: go get
          code: |
            cd $WERCKER_SOURCE_DIR
            go version
            go get -t ./...
  
      # Build the project
      - script:
          name: go build
          code: |
            go build ./...
  
      # Test the project
      - script:
          name: go test
          code: |
            packages=(cmd/gmq-cli mqtt mqtt/client mqtt/packet)
            for package in ${packages[@]}; do go test -v -cover -race ./$package; done
  
      # Invoke goveralls
      - script:
          name: goveralls
          code: |
            go get github.com/axw/gocov/gocov
            go get github.com/mattn/goveralls
            echo "mode: count" > all.cov
            for package in ${packages[@]}; do go test --covermode=count -coverprofile=$package.cov ./$package; sed -e "1d" $package.cov >> all.cov; done
            GIT_BRANCH=$WERCKER_GIT_BRANCH goveralls -coverprofile=all.cov -service=wercker.com -repotoken $COVERALLS_REPO_TOKEN
  