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
  needs: ["client:setup"]
  script:
    - cd client
    - npm run lint

client:test:
  image: node:10
  stage: test
  needs: ["client:setup"]
  script:
    - cd client
    - npm run test:coverage

  coverage: /All files\s*\|\s*([\d\.]+)/