adequate 0.1.0

A yet another validation library provides a macro inspired by Accord.
Documentation
stages:
  - verify
  - test
  - build

.vet-tools: &vet-tools
  image: grauwoelfchen/rust-vet-tools:stable
  except:
    - tags

check:
  stage: verify
  <<: *vet-tools
  before_script:
    - rustc --version
    - cargo --version
    - mkdir -p .git/hooks
  script:
    - make verify:check

format:
  stage: verify
  <<: *vet-tools
  before_script:
    - rustc --version
    - cargo --version
    - cargo fmt --version
    - mkdir -p .git/hooks
  script:
    - make verify:format

lint:
  stage: verify
  <<: *vet-tools
  before_script:
    - rustc --version
    - cargo --version
    - cargo clippy --version
    - mkdir -p .git/hooks
  script:
    - make verify:lint

test:
  stage: test
  <<: *vet-tools
  before_script:
    - rustc --version
    - cargo --version
    - kcov --version
    - mkdir -p .git/hooks
  script:
    # test & get covered
    - KCOV_PATH=/usr/bin/kcov make coverage
  after_script:
    - cat target/coverage/index.json

build:
  stage: build
  image: grauwoelfchen/rust:stable
  before_script:
    - rustc --version
    - cargo --version
    - mkdir -p .git/hooks
  script:
    - make build:debug
  cache:
    untracked: true
  only:
    - master

release:
  stage: build
  image: grauwoelfchen/rust:stable
  before_script:
    - rustc --version
    - cargo --version
    - mkdir -p .git/hooks
  script:
    - make build:release
  cache:
    untracked: true
  only:
    - tags