php-fpm-exporter/.circleci/config.yml
2018-02-28 14:04:55 +11:00

70 lines
No EOL
2.2 KiB
YAML

defaults: &defaults
working_directory: /go/src/github.com/hipages/php-fpm_exporter
version: 2
jobs:
test:
<<: *defaults
docker:
- image: circleci/golang:1.10
steps:
- checkout
- run:
name: Setup Code Climate test-reporter
command: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: dep ensure -vendor-only
- run:
name: Run tests
command: |
./cc-test-reporter before-build
go test -v -coverprofile=c.out ./...
./cc-test-reporter after-build --exit-code $?
lint:
<<: *defaults
docker:
- image: circleci/golang:1.10
steps:
- checkout
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: dep ensure -vendor-only
- run: curl -L -s https://github.com/alecthomas/gometalinter/releases/download/v2.0.5/gometalinter-2.0.5-linux-amd64.tar.gz | tar xvfz - -C /go/bin/ --strip 1
- run: gometalinter --disable-all --enable=megacheck --enable=golint --enable=unconvert --enable=vet --enable=vetshadow --vendor ./...
deploy:
<<: *defaults
docker:
- image: circleci/golang:1.10
steps:
- checkout
- setup_remote_docker:
docker_layer_caching: true
- run: docker login -u $DOCKER_USER -p $DOCKER_PASS
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: dep ensure -vendor-only
- run: curl -sL https://git.io/goreleaser | bash
workflows:
version: 2
build-n-deploy:
jobs:
- test:
filters:
tags:
only: /^v.*/
- lint:
filters:
tags:
only: /^v.*/
- deploy:
requires:
- test
filters:
branches:
ignore: /.*/
tags:
only: /^v.*/