# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

pr:
- master

pool:
  vmImage: 'Ubuntu-16.04'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

- script: |
    npm install
  displayName: 'npm install'

- script: |
    npm run lint-pr
  displayName: 'npm lint'

- script: |
    npm run build
  displayName: 'npm build'

- script: |
    npm test
  displayName: 'npm test'

- task: PublishTestResults@2
  condition: succeededOrFailed()
  inputs:
    testRunner: Nunit
    testResultsFiles: './nunitresults.xml'
    failTaskOnFailedTests: true

- task: PublishCodeCoverageResults@1
  condition: succeededOrFailed()
  inputs:
    codeCoverageTool: Cobertura
    summaryFileLocation: './coverage/cobertura-coverage.xml'
    reportDirectory: './coverage'
    failIfCoverageEmpty: true