client-setup:
  image: node:10
  stage: setup
  script:
    - cd client
    - npm install
  artifacts:
    name: "artifacts"
    untracked: true
    expire_in: 15 mins
    paths:
      - client/.npm/
      - client/node_modules/
  cache:
    key: "$CI_COMMIT_REF_SLUG"
    paths:
      - client/.npm/
      - client/node_modules/

client-linting:
  image: node:10
  stage: test
  script:
    - cd client
    - npm run lint
  dependencies:
    - client-setup

client-test:
  image: node:10
  stage: test
  script:
    - cd client
    - npm run test:coverage
  dependencies:
    - client-setup
  coverage: /All files\s*\|\s*([\d\.]+)/
