image: golang:latest

before_script:
  - make install-deps

stages:
  - test
  - build

format:
  stage: test
  script:
    - make format

test:
  stage: test
  script:
    - make test

build:
  stage: build
  only:
    - main
    - tags
  script:
    - git fetch --tags
    - make build/snapshot
  artifacts:
    paths:
      - dist/*.tar.gz
      - dist/checksums.txt
    expire_in: 1 day

docker-gitlab:
  stage: build
  only:
    - main
    - tags
  image: docker:stable
  services:
    - docker:dind
  before_script:
    - apk add git
    - apk add make
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
  script:
    - make docker/build-latest
    - make docker/build-tag
    - docker push registry.gitlab.com/hectorjsmith/fail2ban-prometheus-exporter
