language: generic

jobs:
  include:
  - name: viewer
    language: node_js
    node_js: 12
    cache:
      directories:
      - viewer/node_modules
    install:
    - cd viewer
    - npm install
    script:
    - npm run lint
    - npm run build

  - name: compiler
    language: haskell
    cache:
      directories:
      - $HOME/.stack
    before_install:
    - mkdir -p ~/.local/bin
    - export PATH=$HOME/.local/bin:$PATH
    - travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
    install:
    - cd compiler
    - stack setup --no-terminal
    script:
    - stack build --no-terminal