image: node:8

stages:
  - test
  - deploy

include:
  - template: Code-Quality.gitlab-ci.yml

code_quality:
  artifacts:
    paths: [gl-code-quality-report.json]

test:
  script:
  - npm install
  - npm test
  cache:
    policy: pull
  artifacts:
    paths:
      - coverage/
    reports:
      junit:
        - '*/test-results.xml'

cache:
  key: 
    files:
      - package-lock.json
  paths:
    - node_modules/

pages:
  stage: deploy
  dependencies:
    - test
  script:
    - mv coverage/lcov-report/ public/
  cache:
    policy: pull
  artifacts:
    paths:
      - public
    expire_in: 30 days
  only:
    - master