image: golang:1.16-buster

cache:
  paths:
    - /apt-cache
    - /go/src/github.com
    - /go/src/golang.org
    - /go/src/google.golang.org
    - /go/src/gopkg.in

stages:
  - test

before_script:
  - go get -u golang.org/x/lint/golint  

unit_tests:
  stage: test
  script:
    - make test
  only:
    - merge_requests 

race_detector:
  stage: test
  script:
    - make test-race
  only:
    - merge_requests

code_coverage:
  stage: test
  script:
    - make coverage
  only:
    - merge_requests

lint_code:
  stage: test
  script:
    - make lint
  only:
    - merge_requests 
