---
version: 2.1

orbs:
  prometheus: prometheus/prometheus@0.1.0

executors:
  # Whenever the Go version is updated here, .travis.yml and .promu.yml
  # should also be updated.
  golang:
    docker:
    - image: circleci/golang:1.12

jobs:
  test:
    executor: golang

    steps:
    - prometheus/setup_environment
    - run: make
    - run: git diff --exit-code
    - prometheus/store_artifact:
        file: statsd_exporter

workflows:
  version: 2
  statsd_exporter:
    jobs:
    - test:
        filters:
          tags:
            only: /.*/
    - prometheus/build:
        name: build
        filters:
          tags:
            only: /.*/
    - prometheus/publish_master:
        context: org-context
        requires:
        - test
        - build
        filters:
          branches:
            only: master
    - prometheus/publish_release:
        context: org-context
        requires:
        - test
        - build
        filters:
          tags:
            only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
          branches:
            ignore: /.*/
