steps:
- task: NodeTool@0
  inputs:
    versionSpec: '8.x'
  displayName: 'Install Node.js'

- script: |
    git submodule update --init --recursive
    nvm install 10.15.1
    nvm use 10.15.1
    npm i -g yarn
  displayName: 'preinstall'

- script: |
    export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:10
    sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
    sudo chmod +x /etc/init.d/xvfb
    sudo update-rc.d xvfb defaults
    sudo service xvfb start
    # sh -e /etc/init.d/xvfb start
    # sleep 3
  displayName: 'Linux preinstall'
  condition: eq(variables['Agent.OS'], 'Linux')

- script: |
    yarn
  displayName:  'Install'

- script: |
    node_modules/.bin/gulp electron
    node_modules/.bin/gulp compile --max_old_space_size=4096
  displayName: 'Scripts'

- script: |
    DISPLAY=:10 ./scripts/test.sh --reporter mocha-junit-reporter
  displayName: 'Tests'

- task: PublishTestResults@2
  inputs:
    testResultsFiles: '**/test-results.xml'
  condition: succeededOrFailed()

- script: |
    yarn tslint
  displayName: 'Run TSLint'

- script: |
    yarn strict-null-check
  displayName: 'Run Strict Null Check'
