You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
name: $(BuildID)
|
|
|
|
trigger:
|
|
batch: true
|
|
paths:
|
|
exclude:
|
|
- CHANGELOG.md
|
|
- LICENSE
|
|
- README.md
|
|
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
|
|
variables:
|
|
- group: 'env-variables'
|
|
|
|
strategy:
|
|
maxParallel: 3
|
|
matrix:
|
|
Node 6:
|
|
node_version: 6.x
|
|
Node 8:
|
|
node_version: 8.x
|
|
Node 10:
|
|
node_version: 10.x
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: $(node_version)
|
|
displayName: 'Install Node.js'
|
|
|
|
- script: |
|
|
yarn install --ignore-engines
|
|
echo 'Downloading Code Climate Test Reporter...'
|
|
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
|
chmod +x ./cc-test-reporter
|
|
echo 'Done downloading Code Climate Test Reporter.'
|
|
displayName: 'Install dependencies'
|
|
|
|
- script: |
|
|
./cc-test-reporter before-build
|
|
yarn ci 2> /dev/null
|
|
if [ $? -eq 0 ]
|
|
then
|
|
echo '"yarn ci" passed, publishing to code climate.'
|
|
./cc-test-reporter after-build --exit-code 0
|
|
exit 0
|
|
else
|
|
echo '"yarn ci" failed, publishing to code climate.'
|
|
./cc-test-reporter after-build --exit-code 1
|
|
exit 1
|
|
fi
|
|
displayName: 'Lint source code, Run unit tests & Publish to Code Climate'
|
|
env:
|
|
CC_TEST_REPORTER_ID: $(CC_TEST_REPORTER_ID)
|
|
GIT_BRANCH: $(Build.SourceBranch)
|
|
GIT_COMMIT_SHA: $(Build.SourceVersion)
|
|
|
|
- script: yarn coverage
|
|
displayName: 'Publish code coverage results (coveralls.io)'
|
|
env:
|
|
COVERALLS_SERVICE_NAME: $(COVERALLS_SERVICE_NAME)
|
|
COVERALLS_REPO_TOKEN: $(COVERALLS_REPO_TOKEN)
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish test results (Azure Pipelines)'
|
|
condition: succeededOrFailed()
|
|
inputs:
|
|
testRunner: JUnit
|
|
testResultsFiles: 'test/junit-results.xml'
|
|
|
|
- task: PublishCodeCoverageResults@1
|
|
displayName: 'Publish code coverage results (Azure Pipelines)'
|
|
inputs:
|
|
codeCoverageTool: Cobertura
|
|
summaryFileLocation: '$(System.DefaultWorkingDirectory)/coverage/cobertura-coverage.xml'
|
|
reportDirectory: '$(System.DefaultWorkingDirectory)/coverage/lcov-report'
|