45 lines
1.3 KiB
YAML

# File: jobs/build.yml
parameters:
name: ''
pool: ''
sign: false
jobs:
- job: ${{ parameters.name }}
pool: ${{ parameters.pool }}
strategy:
maxParallel: 3
matrix:
node-16:
node_version: ^16.13.0
node-14:
node_version: ^14.18.0
node-12:
node_version: ^12.6.0
steps:
- task: NodeTool@0
displayName: " Install Node.js"
inputs:
versionSpec: $(node_version)
- script: git config --global user.email "example@example.com"
- script: git config --global user.name "Example Git User"
- script: npm install
- script: npm run build
- script: npm test && npm run write-coverage
- script: bash logo/generate.sh
- task: PublishTestResults@2
displayName: 'Publish Test Results'
inputs:
testResultsFiles: '**/junit-*.xml'
testRunTitle: TestRun ${{ parameters.name }} $(node_version)
- task: PublishCodeCoverageResults@1
displayName: 'Publish code coverage results'
inputs:
codeCoverageTool: 'cobertura'
summaryFileLocation: '**/coverage/cobertura-coverage.xml'
- task: PublishBuildArtifacts@1
displayName: Publish packages
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'