# 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

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

strategy:
  matrix:
    node14:
      nodeVersion: '14.x'
    node22:
      nodeVersion: '22.x'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '$(nodeVersion)'
  displayName: 'Install Node.js $(nodeVersion)'

- script: npm install
  displayName: 'npm install $(nodeVersion)'

- script: npm test
  displayName: 'npm test $(nodeVersion)'
  env:
    SILA_PRIVATE_KEY: $(silaPrivateKey)

- task: PublishTestResults@2
  inputs:
    testResultsFormat: 'JUnit'
    testResultsFiles: 'coverage/test-*.xml'
  displayName: 'Publish test results'
  condition: succeededOrFailed()

- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: 'Cobertura'
    summaryFileLocation: 'coverage/cobertura-coverage.xml'
