version: 2.1
orbs:
  prometheus: prometheus/prometheus@0.11.0
jobs:
  test:
    # Whenever the Go version is updated here, .promu.yml
    # should also be updated.
    docker:
      - image: circleci/golang:1.16
    steps:
      - prometheus/setup_environment
      - setup_remote_docker
      - run: make
      - prometheus/store_artifact:
          file: phpfpm_exporter
          
workflows:
  version: 2
  phpfpm_exporter:
    jobs:
      - test:
          filters:
            tags:
              only: /.*/
      - prometheus/build:
          name: build
          filters:
            tags:
              only: /.*/
      - prometheus/publish_master:
          context: org-global
          docker_hub_organization: lusotycoon
          quay_io_organization: lusitaniae
          requires:
            - test
            - build
          filters:
            branches:
              only: master
      - prometheus/publish_release:
          context: org-global
          docker_hub_organization: lusotycoon
          quay_io_organization: lusitaniae
          requires:
            - test
            - build
          filters:
            tags:
              only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
            branches:
              ignore: /.*/