version: 2 jobs: linting: docker: - image: circleci/golang:1.9 working_directory: /go/src/github.com/filebrowser/filebrowser steps: - checkout - run: name: Install Dependencies command: | cd cmd/filebrowser && go get ./... && cd ../.. go get github.com/alecthomas/gometalinter gometalinter --install - run: name: Run linting command: | gometalinter --exclude="rice-box.go" \ -D goconst \ -D gocyclo \ -D vetshadow \ -D errcheck \ -D golint \ -D gas build: docker: - image: circleci/golang:1.9 working_directory: /go/src/github.com/filebrowser/filebrowser steps: - checkout - run: name: Install Dependencies command: | cd cmd/filebrowser go get ./... - run: name: Building command: go build deploy: docker: - image: circleci/golang:1.9 working_directory: /go/src/github.com/filebrowser/filebrowser steps: - checkout - run: name: Install Dependencies command: | cd cmd/filebrowser go get ./... cd ../.. - run: name: Deploy command: curl -sL https://git.io/goreleaser | bash workflows: version: 2 lint-build-deploy: jobs: - linting: filters: tags: only: /.*/ branches: only: /.*/ - build: filters: tags: only: /.*/ branches: only: /.*/ - deploy: requires: - linting - build filters: tags: only: /v[0-9]+(\.[0-9]+)*(-.*)*/ branches: ignore: /.*/