sudo: false
dist: xenial
language: node_js

node_js:
  - '8'
  - '10'

services:
  - docker
  - xvfb

env:
  - MOZ_HEADLESS=1
addons:
  firefox: latest
  chrome: stable

branches:
  only:
    - master
    # Allow builds for version tags (e.g. v1.0.0)
    - /^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/

before_install:
  # Login to NPM registry
  - npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
  # Use latest supported NPM in order to speedup build and support `npm ci`
  - npm i -g npm@6
  - export DISPLAY=:99.0
  # Mitigate "Failed: (HTTP code 404) no such container - No such image: axerunners/insight:latest"
  - docker pull axerunners/insight:latest

install:
  - npm ci

script:
  - npm run lint || travis_terminate 1
  - npm run test

deploy:
  - provider: script
    skip_cleanup: true
    script: bash scripts/travis-deploy.sh
    on:
      repo: axerunners/insight-ui
      tags: true
