version: 2 jobs: build: docker: - image: circleci/golang:1.10 working_directory: /go/src/github.com/jimeh/casecmp steps: - checkout - run: name: Install tools command: | curl -L https://github.com/golang/dep/raw/master/install.sh | sh - run: name: Install dependencies command: dep ensure - run: name: Build binary command: make - run: name: Start service command: ./bin/casecmp --port=8080 background: true - run: name: Validate service is working command: | curl --retry 10 --retry-delay 1 --retry-connrefused \ http://localhost:8080/ release: docker: - image: circleci/golang:1.10 working_directory: /go/src/github.com/jimeh/casecmp steps: - checkout - run: name: Install tools command: | curl -L https://github.com/golang/dep/raw/master/install.sh | sh go get github.com/goreleaser/goreleaser - run: name: Install dependencies command: dep ensure - run: name: Run goreleaser command: goreleaser workflows: version: 2 build: jobs: - build: filters: branches: only: /.*/ tags: ignore: /^[0-9]+(\.[0-9]+)*/ build-and-release: jobs: - build: filters: branches: ignore: /.*/ tags: only: /^[0-9]+(\.[0-9]+)*/ - release: requires: - build filters: branches: ignore: /.*/ tags: only: /^[0-9]+(\.[0-9]+)*/