stages:
  - coverage
  - builddocs
  - deploy

variables:
  LC_ALL: C.UTF-8
  LANG: "en_US.UTF-8"
  JEKYLL_ENV: production

coverage:
  image: cirrusci/flutter
  stage: coverage
  coverage: '/^\s+lines.+: (\d+.\d*%)/'
  dependencies: []
  script:
    - sudo apt-get update -qq && sudo apt-get install -qq apt-transport-https curl gnupg lcov git
    - ./scripts/test.sh
    - ./scripts/coverage.sh
    - flutter pub pub publish --dry-run

builddocs:
  stage: builddocs
  image: cirrusci/flutter
  script:
    - dartdoc --exclude "dart:async,dart:collection,dart:convert,dart:core,dart:developer,dart:io,dart:isolate,dart:math,dart:typed_data,dart:ui"
  artifacts:
    paths:
      - doc/api/
  only:
  - master

pages:
  stage: deploy
  image: ruby:2.3
  script:
    - mv doc/api/* ./
    - bundle install
    - bundle exec jekyll build -d public
  dependencies:
    - builddocs
  artifacts:
    paths:
    - public
  only:
  - master