97 строки
3.4 KiB
YAML
97 строки
3.4 KiB
YAML
name: $(BuildID)_$(BuildDefinitionName)_$(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
|
|
resources:
|
|
- repo: self
|
|
clean: true
|
|
|
|
jobs:
|
|
- job: Phase_1
|
|
displayName: 'Windows Node 14.x'
|
|
condition: succeededOrFailed()
|
|
pool:
|
|
vmImage: 'windows-2019'
|
|
steps:
|
|
- task: NodeTool@0
|
|
displayName: 'Use Node 14.x'
|
|
inputs:
|
|
versionSpec: '14.x'
|
|
|
|
- powershell: |
|
|
runas.exe /savecred /user:administrator
|
|
npm install --global node-gyp@6.1.0
|
|
npm install --global lerna@^6.6.2
|
|
npm install
|
|
displayName: 'Install Dependencies'
|
|
|
|
- script: |
|
|
call lerna bootstrap --hoist
|
|
call lerna run build
|
|
displayName: 'Bootstrap & Build'
|
|
|
|
- script: 'call lerna run ci'
|
|
displayName: 'Unit & Integration Tests'
|
|
env:
|
|
IOTHUB_CONNECTION_STRING: $(IOTHUB-CONNECTION-STRING)
|
|
|
|
- script: 'lerna run e2e'
|
|
displayName: 'E2E Tests'
|
|
env:
|
|
IOTHUB_CA_ROOT_CERT: $(IOTHUB-CA-ROOT-CERT)
|
|
IOTHUB_CA_ROOT_CERT_KEY: $(IOTHUB-CA-ROOT-CERT-KEY)
|
|
IOT_PROVISIONING_DEVICE_ENDPOINT: $(IOT-PROVISIONING-DEVICE-ENDPOINT)
|
|
IOTHUB_CONNECTION_STRING: $(IOTHUB-CONNECTION-STRING)
|
|
STORAGE_CONNECTION_STRING: $(STORAGE-CONNECTION-STRING)
|
|
IOT_PROVISIONING_DEVICE_IDSCOPE: $(IOT-PROVISIONING-DEVICE-IDSCOPE)
|
|
IOT_PROVISIONING_ROOT_CERT: $(IOT-PROVISIONING-ROOT-CERT)
|
|
IOT_PROVISIONING_ROOT_CERT_KEY: $(IOT-PROVISIONING-ROOT-CERT-KEY)
|
|
IOT_PROVISIONING_SERVICE_CONNECTION_STRING: $(IOT-PROVISIONING-SERVICE-CONNECTION-STRING)
|
|
DPS_CONN_STRING_INVALID_CERT: $(DPS-CONN-STRING-INVALID-CERT)
|
|
DPS_GLOBAL_DEVICE_ENDPOINT_INVALID_CERT: $(DPS-GLOBAL-DEVICE-ENDPOINT-INVALID-CERT)
|
|
IOTHUB_CONN_STRING_INVALID_CERT: $(IOTHUB-CONN-STRING-INVALID-CERT)
|
|
IOTHUB_DEVICE_CONN_STRING_INVALID_CERT: $(IOTHUB-DEVICE-CONN-STRING-INVALID-CERT)
|
|
|
|
- task: PublishTestResults@2
|
|
displayName: 'Publish Test Results | Mocha'
|
|
inputs:
|
|
testResultsFiles: '**/test-results.*.xml'
|
|
mergeTestResults: true
|
|
testRunTitle: 'E2E Tests - Windows'
|
|
condition: succeededOrFailed()
|
|
|
|
- task: DownloadBuildArtifacts@0
|
|
condition: coalesce(variables.release, False)
|
|
inputs:
|
|
buildType: 'specific'
|
|
project: 'f9b79625-2860-4d92-a4ee-57b03fabfd10' # azure-iot-sdks
|
|
pipeline: '296' # iot-sdks-internals-scripts pipeline
|
|
buildVersionToDownload: 'latest'
|
|
downloadType: 'single'
|
|
downloadPath: '$(System.ArtifactsDirectory)/scripts'
|
|
artifactName: 'node'
|
|
|
|
- powershell: |
|
|
. $(System.ArtifactsDirectory)/scripts/node/release-node.ps1
|
|
$outputFolder = $env:output
|
|
Build-Artifacts -Sources $env:sources -Output $outputFolder
|
|
displayName: 'npm pack'
|
|
condition: coalesce(variables.release, False)
|
|
env:
|
|
sources: $(Build.SourcesDirectory)
|
|
output: $(Build.ArtifactStagingDirectory)\_out
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
condition: coalesce(variables.release, False)
|
|
inputs:
|
|
PathtoPublish: $(Build.ArtifactStagingDirectory)\_out
|
|
ArtifactName: drop
|
|
publishLocation: 'Container'
|
|
|
|
- task: AzureFileCopy@2
|
|
displayName: 'Copy Release Artifacts to Partner Release Pipeline'
|
|
condition: coalesce(variables.release, False)
|
|
inputs:
|
|
SourcePath: $(Build.ArtifactStagingDirectory)\_out
|
|
azureSubscription: azuresdkpartnerdrops
|
|
Destination: AzureBlob
|
|
storage: azuresdkpartnerdrops
|
|
ContainerName: 'drops/azure-iot-sdk/node/'
|