image: node:12

variables:
  NODE_ENV: test

cache:
  key:
    files:
      - yarn.lock
  paths:
    - node_modules

stages:
  - lint
  - test
  - build
  - deploy

before_script:
  - yarn

lint-js:
  stage: lint
  script: yarn test:lint:js

lint-sass:
  stage: lint
  script: yarn test:lint:sass

jest:
  stage: test
  script: yarn test:jest

build-production:
  stage: build
  script: yarn build
  variables:
    NODE_ENV: production
  artifacts:
    paths:
    - static

docs-deploy:
  stage: deploy
  image: alpine:latest
  before_script:
    - apk add curl
  script:
    - curl -X POST -F"token=$CI_JOB_TOKEN" -F'ref=master' https://gitlab.com/api/v4/projects/15685485/trigger/pipeline
  only:
    - develop

# Supposed to fail when translations are outdated, instead always passes
#
# i18n:
#   stage: build
#   script: yarn manage:translations
#   variables:
#     NODE_ENV: development
#   before_script:
#     - yarn
#     - yarn build
