From c98bb7c7d92e6c41a708906d402409287683ba7f Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Fri, 10 May 2019 15:06:27 -0700 Subject: [PATCH 01/15] Initial stab at rush-based PR validation pipelines. --- .../templates/jobs/archetype-sdk-client.yml | 147 ++++++++++++++++++ eng/pipelines/templates/variables/globals.yml | 2 + sdk/core/amqp-common/ci.yml | 18 +++ 3 files changed, 167 insertions(+) create mode 100644 eng/pipelines/templates/jobs/archetype-sdk-client.yml create mode 100644 eng/pipelines/templates/variables/globals.yml create mode 100644 sdk/core/amqp-common/ci.yml diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml new file mode 100644 index 000000000000..611cc83e2e26 --- /dev/null +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -0,0 +1,147 @@ +jobs: + - job: 'Build' + variables: + - template: ../variables/globals.yml + pool: + vmImage: 'ubuntu-16.04' + + steps: + - task: NodeTool@0 + inputs: + versionSpec: '$(NodeVersion)' + displayName: 'Install Node.js $(NodeVersion)' + + - script: | + node common/scripts/install-run-rush.js install + displayName: 'Install dependencies' + + - script: | + node common/scripts/install-run-rush.js build $(rushFlags) --to $(PackageName) + displayName: 'Build libraries' + + - script: | + node common/scripts/install-run-rush.js pack $(rushFlags) --to $(PackageName) + displayName: 'Pack libraries' + + - task: CopyFiles@2 + inputs: + contents: 'sdk/**/**/*.tgz' + targetFolder: $(Build.ArtifactStagingDirectory) + flattenFolders: true + displayName: 'Copy packages' + + - task: PublishPipelineArtifacts@0 + condition: succeededOrFailed() + displayName: 'Publish artifacts' + inputs: + artifactName: packages + targetPath: $(Build.ArtifactStagingDirectory) + + - job: 'Analyze' + variables: + - template: ../variables/globals.yml + + pool: + vmImage: 'ubuntu-16.04' + + steps: + - task: UsePythonVersion@0 + displayName: 'Use Python 3.6' + inputs: + versionSpec: '3.6' + + - task: NodeTool@0 + inputs: + versionSpec: '$(NodeVersion)' + displayName: 'Install Node.js $(NodeVersion)' + + - script: | + pip install setuptools wheel + pip install doc-warden + ward scan -d $(Build.SourcesDirectory) -c $(Build.SourcesDirectory)/.docsettings.yml + displayName: 'Verify Readmes' + + - script: | + node common/scripts/install-run-rush.js install + node common/scripts/install-run-rush.js audit $(rushFlags) + condition: and(succeeded(), eq(variables['RunNpmAudit'], 'true')) + displayName: 'Audit packages' + + - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 + # ComponentGovernance is currently unable to run on pull requests of public projects. Running on non-PR + # builds should be sufficient. + condition: and(succeededOrFailed(), ne(variables['Build.Reason'], 'PullRequest')) + displayName: 'Component Detection' + + - job: 'Test' + + strategy: + matrix: + Linux_Node8: + OSName: 'Linux' + OSVmImage: 'ubuntu-16.04' + NodeVersion: '8.x' + Linux_Node10: + OSName: 'Linux' + OSVmImage: 'ubuntu-16.04' + NodeVersion: '10.x' + Linux_Node12: + OSName: 'Linux' + OSVmImage: 'ubuntu-16.04' + NodeVersion: '12.x' + macOS_Node8: + OSName: 'macOS' + OSVmImage: 'macOS-10.13' + NodeVersion: '8.x' + macOS_Node10: + OSName: 'macOS' + OSVmImage: 'macOS-10.13' + NodeVersion: '10.x' + macOS_Node12: + OSName: 'macOS' + OSVmImage: 'macOS-10.13' + NodeVersion: '12.x' + Windows_Node8: + OSName: 'Windows' + OSVmImage: 'vs2017-win2016' + NodeVersion: '8.x' + Windows_Node10: + OSName: 'Windows' + OSVmImage: 'vs2017-win2016' + NodeVersion: '10.x' + Windows_Node12: + OSName: 'Windows' + OSVmImage: 'vs2017-win2016' + NodeVersion: '12.x' + + pool: + vmImage: '$(OSVmImage)' + + steps: + - task: NodeTool@0 + inputs: + versionSpec: '$(NodeVersion)' + displayName: 'Install Node.js $(NodeVersion)' + + - script: | + node common/scripts/install-run-rush.js install + displayName: 'Install dependencies' + + - script: | + node common/scripts/install-run-rush.js build $(rushFlags) --to $(PackageName) + displayName: 'Build libraries"' + + - script: | + node common/scripts/install-run-rush.js build:test $(rushFlags) --to $(PackageName) + displayName: 'Build test assets' + + - script: | + node common/scripts/install-run-rush.js unit-test $(rushFlags) --to $(PackageName) + displayName: 'Test libraries' + + - task: PublishTestResults@2 + inputs: + testResultsFiles: '**/test-results.xml' + testRunTitle: '$(OSName) Node $(NodeVersion)' + condition: succeededOrFailed() + displayName: 'Publish test results' diff --git a/eng/pipelines/templates/variables/globals.yml b/eng/pipelines/templates/variables/globals.yml new file mode 100644 index 000000000000..430e586b1491 --- /dev/null +++ b/eng/pipelines/templates/variables/globals.yml @@ -0,0 +1,2 @@ +variables: + NodeVersion: '10.x' diff --git a/sdk/core/amqp-common/ci.yml b/sdk/core/amqp-common/ci.yml new file mode 100644 index 000000000000..a9a65d47ff7f --- /dev/null +++ b/sdk/core/amqp-common/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/core/amqp-common/ + +variables: + PackageName: amqp-common + +jobs: +- template: ../../eng/pipelines/templates/jobs/archetype-sdk-client.yml From a70757faa423e74294f1604be55f1685907e204a Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Fri, 10 May 2019 15:27:30 -0700 Subject: [PATCH 02/15] Changing template path. --- sdk/core/amqp-common/.npmignore | 1 + sdk/core/amqp-common/ci.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 sdk/core/amqp-common/.npmignore diff --git a/sdk/core/amqp-common/.npmignore b/sdk/core/amqp-common/.npmignore new file mode 100644 index 000000000000..28b96450b044 --- /dev/null +++ b/sdk/core/amqp-common/.npmignore @@ -0,0 +1 @@ +ci.yml diff --git a/sdk/core/amqp-common/ci.yml b/sdk/core/amqp-common/ci.yml index a9a65d47ff7f..e003ce75f609 100644 --- a/sdk/core/amqp-common/ci.yml +++ b/sdk/core/amqp-common/ci.yml @@ -15,4 +15,4 @@ variables: PackageName: amqp-common jobs: -- template: ../../eng/pipelines/templates/jobs/archetype-sdk-client.yml +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml From 9fbcfcd0c70091a3bd36586f76f1e8ed731453dc Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Fri, 10 May 2019 15:28:21 -0700 Subject: [PATCH 03/15] Fixed publish step. --- eng/pipelines/templates/jobs/archetype-sdk-client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 611cc83e2e26..57c8ca8783b3 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -30,7 +30,7 @@ jobs: flattenFolders: true displayName: 'Copy packages' - - task: PublishPipelineArtifacts@0 + - task: PublishPipelineArtifact@0 condition: succeededOrFailed() displayName: 'Publish artifacts' inputs: From 65f786929d0f432a7e8624a451592c45a409ffde Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Fri, 10 May 2019 15:41:40 -0700 Subject: [PATCH 04/15] Added in other services. --- sdk/cosmosdb/cosmos/.npmignore | 3 ++- sdk/cosmosdb/cosmos/ci.yml | 18 ++++++++++++++++++ sdk/eventhub/event-hubs/.npmignore | 1 + sdk/eventhub/event-hubs/ci.yml | 18 ++++++++++++++++++ sdk/eventhub/event-processor-host/.npmignore | 1 + sdk/eventhub/event-processor-host/ci.yml | 18 ++++++++++++++++++ sdk/keyvault/keyvault/.npmignore | 1 + sdk/keyvault/keyvault/ci.yml | 18 ++++++++++++++++++ sdk/servicebus/service-bus/ci.yml | 18 ++++++++++++++++++ sdk/storage/storage-blob/.npmignore | 3 ++- sdk/storage/storage-blob/ci.yml | 18 ++++++++++++++++++ sdk/storage/storage-file/.npmignore | 3 ++- sdk/storage/storage-file/ci.yml | 18 ++++++++++++++++++ sdk/storage/storage-queue/.npmignore | 3 ++- sdk/storage/storage-queue/ci.yml | 18 ++++++++++++++++++ 15 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 sdk/cosmosdb/cosmos/ci.yml create mode 100644 sdk/eventhub/event-hubs/.npmignore create mode 100644 sdk/eventhub/event-hubs/ci.yml create mode 100644 sdk/eventhub/event-processor-host/.npmignore create mode 100644 sdk/eventhub/event-processor-host/ci.yml create mode 100644 sdk/keyvault/keyvault/.npmignore create mode 100644 sdk/keyvault/keyvault/ci.yml create mode 100644 sdk/servicebus/service-bus/ci.yml create mode 100644 sdk/storage/storage-blob/ci.yml create mode 100644 sdk/storage/storage-file/ci.yml create mode 100644 sdk/storage/storage-queue/ci.yml diff --git a/sdk/cosmosdb/cosmos/.npmignore b/sdk/cosmosdb/cosmos/.npmignore index 27ff3204bfd0..3bd790b0fe9b 100644 --- a/sdk/cosmosdb/cosmos/.npmignore +++ b/sdk/cosmosdb/cosmos/.npmignore @@ -5,4 +5,5 @@ samples .gitignore *.code-workspace *.tgz -ts-test/ \ No newline at end of file +ts-test/ +ci.yml diff --git a/sdk/cosmosdb/cosmos/ci.yml b/sdk/cosmosdb/cosmos/ci.yml new file mode 100644 index 000000000000..8d85c829adc6 --- /dev/null +++ b/sdk/cosmosdb/cosmos/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/cosmosdb/cosmos/ + +variables: + PackageName: cosmos + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/eventhub/event-hubs/.npmignore b/sdk/eventhub/event-hubs/.npmignore new file mode 100644 index 000000000000..28b96450b044 --- /dev/null +++ b/sdk/eventhub/event-hubs/.npmignore @@ -0,0 +1 @@ +ci.yml diff --git a/sdk/eventhub/event-hubs/ci.yml b/sdk/eventhub/event-hubs/ci.yml new file mode 100644 index 000000000000..2468f1c5db69 --- /dev/null +++ b/sdk/eventhub/event-hubs/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/eventhub/event-hubs/ + +variables: + PackageName: event-hubs + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/eventhub/event-processor-host/.npmignore b/sdk/eventhub/event-processor-host/.npmignore new file mode 100644 index 000000000000..28b96450b044 --- /dev/null +++ b/sdk/eventhub/event-processor-host/.npmignore @@ -0,0 +1 @@ +ci.yml diff --git a/sdk/eventhub/event-processor-host/ci.yml b/sdk/eventhub/event-processor-host/ci.yml new file mode 100644 index 000000000000..6ef9fa62274a --- /dev/null +++ b/sdk/eventhub/event-processor-host/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/eventhub/event-processor-host/ + +variables: + PackageName: event-processor-host + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/keyvault/keyvault/.npmignore b/sdk/keyvault/keyvault/.npmignore new file mode 100644 index 000000000000..28b96450b044 --- /dev/null +++ b/sdk/keyvault/keyvault/.npmignore @@ -0,0 +1 @@ +ci.yml diff --git a/sdk/keyvault/keyvault/ci.yml b/sdk/keyvault/keyvault/ci.yml new file mode 100644 index 000000000000..9d2f6aff6cfc --- /dev/null +++ b/sdk/keyvault/keyvault/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/keyvault/keyvault/ + +variables: + PackageName: keyvault + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/servicebus/service-bus/ci.yml b/sdk/servicebus/service-bus/ci.yml new file mode 100644 index 000000000000..b110af16053b --- /dev/null +++ b/sdk/servicebus/service-bus/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/servicebus/service-bus/ + +variables: + PackageName: service-bus + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/storage/storage-blob/.npmignore b/sdk/storage/storage-blob/.npmignore index 8a5a07d9992e..b75abea0d143 100644 --- a/sdk/storage/storage-blob/.npmignore +++ b/sdk/storage/storage-blob/.npmignore @@ -37,4 +37,5 @@ test*.xml *.tgz coverage-browser .nycrc -mocha.reporter.config.json \ No newline at end of file +mocha.reporter.config.json +ci.yml diff --git a/sdk/storage/storage-blob/ci.yml b/sdk/storage/storage-blob/ci.yml new file mode 100644 index 000000000000..f2629625848d --- /dev/null +++ b/sdk/storage/storage-blob/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/storage/storage-blob/ + +variables: + PackageName: storage-blob + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/storage/storage-file/.npmignore b/sdk/storage/storage-file/.npmignore index b84ea0bddf17..a1c162b9d356 100644 --- a/sdk/storage/storage-file/.npmignore +++ b/sdk/storage/storage-file/.npmignore @@ -32,4 +32,5 @@ test*.xml *.tgz coverage-browser .nycrc -mocha.reporter.config.json \ No newline at end of file +mocha.reporter.config.json +ci.yml diff --git a/sdk/storage/storage-file/ci.yml b/sdk/storage/storage-file/ci.yml new file mode 100644 index 000000000000..a517d0006f89 --- /dev/null +++ b/sdk/storage/storage-file/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/storage/storage-file/ + +variables: + PackageName: storage-file + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml diff --git a/sdk/storage/storage-queue/.npmignore b/sdk/storage/storage-queue/.npmignore index ecf17923297a..d5a7318f4e39 100644 --- a/sdk/storage/storage-queue/.npmignore +++ b/sdk/storage/storage-queue/.npmignore @@ -31,4 +31,5 @@ test*.xml *.tgz coverage-browser .nycrc -mocha.reporter.config.json \ No newline at end of file +mocha.reporter.config.json +ci.yml diff --git a/sdk/storage/storage-queue/ci.yml b/sdk/storage/storage-queue/ci.yml new file mode 100644 index 000000000000..4492dc02f78f --- /dev/null +++ b/sdk/storage/storage-queue/ci.yml @@ -0,0 +1,18 @@ +# DO NOT EDIT THIS FILE +# This file is generated automatically and any changes will be lost. + +trigger: none + +pr: + branches: + include: + - master + paths: + include: + - sdk/storage/storage-queue/ + +variables: + PackageName: storage-queue + +jobs: +- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml From ae03cc28035bbad60be7e7913daf0fd364fe0550 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Mon, 13 May 2019 08:57:15 -0700 Subject: [PATCH 05/15] Not building on Windows for some reason, investigating. --- eng/pipelines/templates/jobs/archetype-sdk-client.yml | 6 +++--- sdk/storage/storage-queue/ci.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 57c8ca8783b3..c7a91ef45f9c 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -128,15 +128,15 @@ jobs: displayName: 'Install dependencies' - script: | - node common/scripts/install-run-rush.js build $(rushFlags) --to $(PackageName) + node common/scripts/install-run-rush.js build $(rushFlags) displayName: 'Build libraries"' - script: | - node common/scripts/install-run-rush.js build:test $(rushFlags) --to $(PackageName) + node common/scripts/install-run-rush.js build:test $(rushFlags) displayName: 'Build test assets' - script: | - node common/scripts/install-run-rush.js unit-test $(rushFlags) --to $(PackageName) + node common/scripts/install-run-rush.js unit-test $(rushFlags) displayName: 'Test libraries' - task: PublishTestResults@2 diff --git a/sdk/storage/storage-queue/ci.yml b/sdk/storage/storage-queue/ci.yml index 4492dc02f78f..2a10252f7bf4 100644 --- a/sdk/storage/storage-queue/ci.yml +++ b/sdk/storage/storage-queue/ci.yml @@ -12,7 +12,7 @@ pr: - sdk/storage/storage-queue/ variables: - PackageName: storage-queue + rushFlags: '--to storage-queue' jobs: - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml From 80ce316b3fd270477f005aacfb8e3a14ec55df72 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Mon, 13 May 2019 09:09:03 -0700 Subject: [PATCH 06/15] Fixed up the build. --- eng/pipelines/templates/jobs/archetype-sdk-client.yml | 10 +++++----- sdk/storage/storage-queue/ci.yml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index c7a91ef45f9c..1eafb03339f5 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -16,11 +16,11 @@ jobs: displayName: 'Install dependencies' - script: | - node common/scripts/install-run-rush.js build $(rushFlags) --to $(PackageName) + node common/scripts/install-run-rush.js build --to $(PackageName) displayName: 'Build libraries' - script: | - node common/scripts/install-run-rush.js pack $(rushFlags) --to $(PackageName) + node common/scripts/install-run-rush.js pack --to $(PackageName) displayName: 'Pack libraries' - task: CopyFiles@2 @@ -128,15 +128,15 @@ jobs: displayName: 'Install dependencies' - script: | - node common/scripts/install-run-rush.js build $(rushFlags) + node common/scripts/install-run-rush.js build --to $(PackageName) displayName: 'Build libraries"' - script: | - node common/scripts/install-run-rush.js build:test $(rushFlags) + node common/scripts/install-run-rush.js build:test --to $(PackageName) displayName: 'Build test assets' - script: | - node common/scripts/install-run-rush.js unit-test $(rushFlags) + node common/scripts/install-run-rush.js unit-test --to $(PackageName) displayName: 'Test libraries' - task: PublishTestResults@2 diff --git a/sdk/storage/storage-queue/ci.yml b/sdk/storage/storage-queue/ci.yml index 2a10252f7bf4..6ff2eaf6b181 100644 --- a/sdk/storage/storage-queue/ci.yml +++ b/sdk/storage/storage-queue/ci.yml @@ -12,7 +12,7 @@ pr: - sdk/storage/storage-queue/ variables: - rushFlags: '--to storage-queue' + ProjectFile: storage-queue jobs: - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml From 9e7efa62c8b5dfa60c17d3fba75a0e6389e9a159 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Mon, 13 May 2019 09:45:50 -0700 Subject: [PATCH 07/15] Fixed variable name - duh! --- sdk/storage/storage-queue/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/storage/storage-queue/ci.yml b/sdk/storage/storage-queue/ci.yml index 6ff2eaf6b181..4492dc02f78f 100644 --- a/sdk/storage/storage-queue/ci.yml +++ b/sdk/storage/storage-queue/ci.yml @@ -12,7 +12,7 @@ pr: - sdk/storage/storage-queue/ variables: - ProjectFile: storage-queue + PackageName: storage-queue jobs: - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml From 6810f93ab4629b58aeabcfa01dcf6edc26e62f92 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Mon, 13 May 2019 14:56:28 -0700 Subject: [PATCH 08/15] Undid .npmignore changes. --- sdk/core/amqp-common/.npmignore | 1 - sdk/cosmosdb/cosmos/.npmignore | 1 - sdk/keyvault/keyvault/.npmignore | 1 - sdk/storage/storage-blob/.npmignore | 1 - sdk/storage/storage-file/.npmignore | 1 - sdk/storage/storage-queue/.npmignore | 1 - 6 files changed, 6 deletions(-) delete mode 100644 sdk/core/amqp-common/.npmignore delete mode 100644 sdk/keyvault/keyvault/.npmignore diff --git a/sdk/core/amqp-common/.npmignore b/sdk/core/amqp-common/.npmignore deleted file mode 100644 index 28b96450b044..000000000000 --- a/sdk/core/amqp-common/.npmignore +++ /dev/null @@ -1 +0,0 @@ -ci.yml diff --git a/sdk/cosmosdb/cosmos/.npmignore b/sdk/cosmosdb/cosmos/.npmignore index 3bd790b0fe9b..feab026d9bd7 100644 --- a/sdk/cosmosdb/cosmos/.npmignore +++ b/sdk/cosmosdb/cosmos/.npmignore @@ -6,4 +6,3 @@ samples *.code-workspace *.tgz ts-test/ -ci.yml diff --git a/sdk/keyvault/keyvault/.npmignore b/sdk/keyvault/keyvault/.npmignore deleted file mode 100644 index 28b96450b044..000000000000 --- a/sdk/keyvault/keyvault/.npmignore +++ /dev/null @@ -1 +0,0 @@ -ci.yml diff --git a/sdk/storage/storage-blob/.npmignore b/sdk/storage/storage-blob/.npmignore index b75abea0d143..a50f5c539346 100644 --- a/sdk/storage/storage-blob/.npmignore +++ b/sdk/storage/storage-blob/.npmignore @@ -38,4 +38,3 @@ test*.xml coverage-browser .nycrc mocha.reporter.config.json -ci.yml diff --git a/sdk/storage/storage-file/.npmignore b/sdk/storage/storage-file/.npmignore index a1c162b9d356..ae8e0d0c9da0 100644 --- a/sdk/storage/storage-file/.npmignore +++ b/sdk/storage/storage-file/.npmignore @@ -33,4 +33,3 @@ test*.xml coverage-browser .nycrc mocha.reporter.config.json -ci.yml diff --git a/sdk/storage/storage-queue/.npmignore b/sdk/storage/storage-queue/.npmignore index d5a7318f4e39..9e219c27be9b 100644 --- a/sdk/storage/storage-queue/.npmignore +++ b/sdk/storage/storage-queue/.npmignore @@ -32,4 +32,3 @@ test*.xml coverage-browser .nycrc mocha.reporter.config.json -ci.yml From 54b952b5f1c70e8ea773ba2be0fd7315cbe347df Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Mon, 13 May 2019 15:29:19 -0700 Subject: [PATCH 09/15] Cleaning up changes to .npmignore files. --- sdk/cosmosdb/cosmos/.npmignore | 2 +- sdk/eventhub/event-hubs/.npmignore | 1 - sdk/eventhub/event-processor-host/.npmignore | 1 - sdk/storage/storage-blob/.npmignore | 2 +- sdk/storage/storage-file/.npmignore | 2 +- sdk/storage/storage-queue/.npmignore | 2 +- 6 files changed, 4 insertions(+), 6 deletions(-) delete mode 100644 sdk/eventhub/event-hubs/.npmignore delete mode 100644 sdk/eventhub/event-processor-host/.npmignore diff --git a/sdk/cosmosdb/cosmos/.npmignore b/sdk/cosmosdb/cosmos/.npmignore index feab026d9bd7..27ff3204bfd0 100644 --- a/sdk/cosmosdb/cosmos/.npmignore +++ b/sdk/cosmosdb/cosmos/.npmignore @@ -5,4 +5,4 @@ samples .gitignore *.code-workspace *.tgz -ts-test/ +ts-test/ \ No newline at end of file diff --git a/sdk/eventhub/event-hubs/.npmignore b/sdk/eventhub/event-hubs/.npmignore deleted file mode 100644 index 28b96450b044..000000000000 --- a/sdk/eventhub/event-hubs/.npmignore +++ /dev/null @@ -1 +0,0 @@ -ci.yml diff --git a/sdk/eventhub/event-processor-host/.npmignore b/sdk/eventhub/event-processor-host/.npmignore deleted file mode 100644 index 28b96450b044..000000000000 --- a/sdk/eventhub/event-processor-host/.npmignore +++ /dev/null @@ -1 +0,0 @@ -ci.yml diff --git a/sdk/storage/storage-blob/.npmignore b/sdk/storage/storage-blob/.npmignore index a50f5c539346..8a5a07d9992e 100644 --- a/sdk/storage/storage-blob/.npmignore +++ b/sdk/storage/storage-blob/.npmignore @@ -37,4 +37,4 @@ test*.xml *.tgz coverage-browser .nycrc -mocha.reporter.config.json +mocha.reporter.config.json \ No newline at end of file diff --git a/sdk/storage/storage-file/.npmignore b/sdk/storage/storage-file/.npmignore index ae8e0d0c9da0..b84ea0bddf17 100644 --- a/sdk/storage/storage-file/.npmignore +++ b/sdk/storage/storage-file/.npmignore @@ -32,4 +32,4 @@ test*.xml *.tgz coverage-browser .nycrc -mocha.reporter.config.json +mocha.reporter.config.json \ No newline at end of file diff --git a/sdk/storage/storage-queue/.npmignore b/sdk/storage/storage-queue/.npmignore index 9e219c27be9b..ecf17923297a 100644 --- a/sdk/storage/storage-queue/.npmignore +++ b/sdk/storage/storage-queue/.npmignore @@ -31,4 +31,4 @@ test*.xml *.tgz coverage-browser .nycrc -mocha.reporter.config.json +mocha.reporter.config.json \ No newline at end of file From 6e6c214290e836bf55046febf2695ec96ed97e7e Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 14 May 2019 09:08:33 -0700 Subject: [PATCH 10/15] Added verbose flags. --- eng/pipelines/templates/jobs/archetype-sdk-client.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 1eafb03339f5..5207355d3966 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -16,11 +16,11 @@ jobs: displayName: 'Install dependencies' - script: | - node common/scripts/install-run-rush.js build --to $(PackageName) + node common/scripts/install-run-rush.js build --verbose --to $(PackageName) displayName: 'Build libraries' - script: | - node common/scripts/install-run-rush.js pack --to $(PackageName) + node common/scripts/install-run-rush.js pack --verbose --to $(PackageName) displayName: 'Pack libraries' - task: CopyFiles@2 @@ -128,15 +128,15 @@ jobs: displayName: 'Install dependencies' - script: | - node common/scripts/install-run-rush.js build --to $(PackageName) + node common/scripts/install-run-rush.js build --verbose --to $(PackageName) displayName: 'Build libraries"' - script: | - node common/scripts/install-run-rush.js build:test --to $(PackageName) + node common/scripts/install-run-rush.js build:test --verbose --to $(PackageName) displayName: 'Build test assets' - script: | - node common/scripts/install-run-rush.js unit-test --to $(PackageName) + node common/scripts/install-run-rush.js unit-test --verbose --to $(PackageName) displayName: 'Test libraries' - task: PublishTestResults@2 From 4a0c7d7924fbb1479c91c6a9b898e698bba69c6c Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 14 May 2019 13:41:56 -0700 Subject: [PATCH 11/15] Using expression syntax to make template flexible. --- .../templates/jobs/archetype-sdk-client.yml | 56 +++++++++++++------ 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 5207355d3966..53ebe7f12c5d 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -15,13 +15,21 @@ jobs: node common/scripts/install-run-rush.js install displayName: 'Install dependencies' - - script: | - node common/scripts/install-run-rush.js build --verbose --to $(PackageName) - displayName: 'Build libraries' - - - script: | - node common/scripts/install-run-rush.js pack --verbose --to $(PackageName) - displayName: 'Pack libraries' + - ${{ if eq(variables['PackageName'],'')}}: + - script: | + node common/scripts/install-run-rush.js build --verbose + displayName: 'Build libraries' + - script: | + node common/scripts/install-run-rush.js pack --verbose + displayName: 'Pack libraries' + + - ${{ if not(variables['PackageName'],'')}}: + - script: | + node common/scripts/install-run-rush.js build --verbose --to $(PackageName) + displayName: 'Build libraries' + - script: | + node common/scripts/install-run-rush.js pack --verbose --to $(PackageName) + displayName: 'Pack libraries' - task: CopyFiles@2 inputs: @@ -127,17 +135,29 @@ jobs: node common/scripts/install-run-rush.js install displayName: 'Install dependencies' - - script: | - node common/scripts/install-run-rush.js build --verbose --to $(PackageName) - displayName: 'Build libraries"' - - - script: | - node common/scripts/install-run-rush.js build:test --verbose --to $(PackageName) - displayName: 'Build test assets' - - - script: | - node common/scripts/install-run-rush.js unit-test --verbose --to $(PackageName) - displayName: 'Test libraries' + # If there is no package name, then don't use the --to option. + - ${{ if eq(variables['PackageName'],'')}}: + - script: | + node common/scripts/install-run-rush.js build --verbose + displayName: 'Build libraries"' + - script: | + node common/scripts/install-run-rush.js build:test --verbose + displayName: 'Build test assets' + - script: | + node common/scripts/install-run-rush.js unit-test --verbose + displayName: 'Test libraries' + + # On the other hand, if there is a PackageName, supply the --to option. + - ${{ if not(variables['PackageName'],'')}}: + - script: | + node common/scripts/install-run-rush.js build --verbose --to $(PackageName) + displayName: 'Build libraries"' + - script: | + node common/scripts/install-run-rush.js build:test --verbose --to $(PackageName) + displayName: 'Build test assets' + - script: | + node common/scripts/install-run-rush.js unit-test --verbose --to $(PackageName) + displayName: 'Test libraries' - task: PublishTestResults@2 inputs: From 076a44be600723bc4f76c3c9068161df46307d73 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 14 May 2019 13:46:15 -0700 Subject: [PATCH 12/15] Changed not to ne. --- eng/pipelines/templates/jobs/archetype-sdk-client.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 53ebe7f12c5d..7cd0da733bb5 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -23,7 +23,7 @@ jobs: node common/scripts/install-run-rush.js pack --verbose displayName: 'Pack libraries' - - ${{ if not(variables['PackageName'],'')}}: + - ${{ if ne(variables['PackageName'],'')}}: - script: | node common/scripts/install-run-rush.js build --verbose --to $(PackageName) displayName: 'Build libraries' @@ -148,7 +148,7 @@ jobs: displayName: 'Test libraries' # On the other hand, if there is a PackageName, supply the --to option. - - ${{ if not(variables['PackageName'],'')}}: + - ${{ if ne(variables['PackageName'],'')}}: - script: | node common/scripts/install-run-rush.js build --verbose --to $(PackageName) displayName: 'Build libraries"' From aa6e9e00802aa5899fcf792347458d152404512f Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 14 May 2019 14:57:38 -0700 Subject: [PATCH 13/15] Switching to parameters in ci.yml for this scenario. --- .../templates/jobs/archetype-sdk-client.yml | 18 +++++++++--------- sdk/storage/storage-queue/ci.yml | 5 ++--- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 7cd0da733bb5..6296f656c196 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -15,7 +15,7 @@ jobs: node common/scripts/install-run-rush.js install displayName: 'Install dependencies' - - ${{ if eq(variables['PackageName'],'')}}: + - ${{ if eq(parameters.PackageName,'')}}: - script: | node common/scripts/install-run-rush.js build --verbose displayName: 'Build libraries' @@ -23,12 +23,12 @@ jobs: node common/scripts/install-run-rush.js pack --verbose displayName: 'Pack libraries' - - ${{ if ne(variables['PackageName'],'')}}: + - ${{ if ne(parameters.PackageName,'')}}: - script: | - node common/scripts/install-run-rush.js build --verbose --to $(PackageName) + node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}} displayName: 'Build libraries' - script: | - node common/scripts/install-run-rush.js pack --verbose --to $(PackageName) + node common/scripts/install-run-rush.js pack --verbose --to ${{parameters.PackageName}} displayName: 'Pack libraries' - task: CopyFiles@2 @@ -136,7 +136,7 @@ jobs: displayName: 'Install dependencies' # If there is no package name, then don't use the --to option. - - ${{ if eq(variables['PackageName'],'')}}: + - ${{ if eq(parameters.PackageName,'')}}: - script: | node common/scripts/install-run-rush.js build --verbose displayName: 'Build libraries"' @@ -148,15 +148,15 @@ jobs: displayName: 'Test libraries' # On the other hand, if there is a PackageName, supply the --to option. - - ${{ if ne(variables['PackageName'],'')}}: + - ${{ if ne(parameters.PackageName,'')}}: - script: | - node common/scripts/install-run-rush.js build --verbose --to $(PackageName) + node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}} displayName: 'Build libraries"' - script: | - node common/scripts/install-run-rush.js build:test --verbose --to $(PackageName) + node common/scripts/install-run-rush.js build:test --verbose --to ${{parameters.PackageName}} displayName: 'Build test assets' - script: | - node common/scripts/install-run-rush.js unit-test --verbose --to $(PackageName) + node common/scripts/install-run-rush.js unit-test --verbose --to ${{parameters.PackageName}} displayName: 'Test libraries' - task: PublishTestResults@2 diff --git a/sdk/storage/storage-queue/ci.yml b/sdk/storage/storage-queue/ci.yml index 4492dc02f78f..2332aa5cb87b 100644 --- a/sdk/storage/storage-queue/ci.yml +++ b/sdk/storage/storage-queue/ci.yml @@ -11,8 +11,7 @@ pr: include: - sdk/storage/storage-queue/ -variables: - PackageName: storage-queue - jobs: - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: '@azure/storage-queue' From 9e6272c7db1503b07e5769b7e071dbd69ca860f9 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 14 May 2019 15:09:50 -0700 Subject: [PATCH 14/15] Switched variable usage to parameters (+prettier ... sorry!) --- sdk/core/amqp-common/ci.yml | 11 +++++------ sdk/cosmosdb/cosmos/ci.yml | 11 +++++------ sdk/eventhub/event-hubs/ci.yml | 11 +++++------ sdk/eventhub/event-processor-host/ci.yml | 11 +++++------ sdk/keyvault/keyvault/ci.yml | 11 +++++------ sdk/servicebus/service-bus/ci.yml | 11 +++++------ sdk/storage/storage-blob/ci.yml | 11 +++++------ sdk/storage/storage-file/ci.yml | 11 +++++------ sdk/storage/storage-queue/ci.yml | 10 +++++----- 9 files changed, 45 insertions(+), 53 deletions(-) diff --git a/sdk/core/amqp-common/ci.yml b/sdk/core/amqp-common/ci.yml index e003ce75f609..cb46058e468d 100644 --- a/sdk/core/amqp-common/ci.yml +++ b/sdk/core/amqp-common/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/core/amqp-common/ - -variables: - PackageName: amqp-common + - sdk/core/amqp-common/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/amqp-common" diff --git a/sdk/cosmosdb/cosmos/ci.yml b/sdk/cosmosdb/cosmos/ci.yml index 8d85c829adc6..c2f3572939fb 100644 --- a/sdk/cosmosdb/cosmos/ci.yml +++ b/sdk/cosmosdb/cosmos/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/cosmosdb/cosmos/ - -variables: - PackageName: cosmos + - sdk/cosmosdb/cosmos/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/cosmos" diff --git a/sdk/eventhub/event-hubs/ci.yml b/sdk/eventhub/event-hubs/ci.yml index 2468f1c5db69..69469b081e61 100644 --- a/sdk/eventhub/event-hubs/ci.yml +++ b/sdk/eventhub/event-hubs/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/eventhub/event-hubs/ - -variables: - PackageName: event-hubs + - sdk/eventhub/event-hubs/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/event-hubs" diff --git a/sdk/eventhub/event-processor-host/ci.yml b/sdk/eventhub/event-processor-host/ci.yml index 6ef9fa62274a..a887660b7cdb 100644 --- a/sdk/eventhub/event-processor-host/ci.yml +++ b/sdk/eventhub/event-processor-host/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/eventhub/event-processor-host/ - -variables: - PackageName: event-processor-host + - sdk/eventhub/event-processor-host/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/event-processor-host" diff --git a/sdk/keyvault/keyvault/ci.yml b/sdk/keyvault/keyvault/ci.yml index 9d2f6aff6cfc..dd1c6b5f3ea7 100644 --- a/sdk/keyvault/keyvault/ci.yml +++ b/sdk/keyvault/keyvault/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/keyvault/keyvault/ - -variables: - PackageName: keyvault + - sdk/keyvault/keyvault/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/keyvault" diff --git a/sdk/servicebus/service-bus/ci.yml b/sdk/servicebus/service-bus/ci.yml index b110af16053b..19d3b2968f74 100644 --- a/sdk/servicebus/service-bus/ci.yml +++ b/sdk/servicebus/service-bus/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/servicebus/service-bus/ - -variables: - PackageName: service-bus + - sdk/servicebus/service-bus/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + - PackageName: "@azure/service-bus" diff --git a/sdk/storage/storage-blob/ci.yml b/sdk/storage/storage-blob/ci.yml index f2629625848d..3802af657de2 100644 --- a/sdk/storage/storage-blob/ci.yml +++ b/sdk/storage/storage-blob/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/storage/storage-blob/ - -variables: - PackageName: storage-blob + - sdk/storage/storage-blob/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/storage-blob" diff --git a/sdk/storage/storage-file/ci.yml b/sdk/storage/storage-file/ci.yml index a517d0006f89..1a056d4164da 100644 --- a/sdk/storage/storage-file/ci.yml +++ b/sdk/storage/storage-file/ci.yml @@ -6,13 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/storage/storage-file/ - -variables: - PackageName: storage-file + - sdk/storage/storage-file/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/storage-file" diff --git a/sdk/storage/storage-queue/ci.yml b/sdk/storage/storage-queue/ci.yml index 2332aa5cb87b..8e28011141c2 100644 --- a/sdk/storage/storage-queue/ci.yml +++ b/sdk/storage/storage-queue/ci.yml @@ -6,12 +6,12 @@ trigger: none pr: branches: include: - - master + - master paths: include: - - sdk/storage/storage-queue/ + - sdk/storage/storage-queue/ jobs: -- template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml - parameters: - PackageName: '@azure/storage-queue' + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + parameters: + PackageName: "@azure/storage-queue" From 995b151b8f202b81e6503dc4a912f541f38506c0 Mon Sep 17 00:00:00 2001 From: Mitch Denny Date: Tue, 14 May 2019 15:55:49 -0700 Subject: [PATCH 15/15] Addresses feedback from bsiegel. --- .../templates/jobs/archetype-sdk-client.yml | 185 +++++++++--------- 1 file changed, 97 insertions(+), 88 deletions(-) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 6296f656c196..b147d6bdf498 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -1,167 +1,176 @@ jobs: - - job: 'Build' + - job: "Build" variables: - - template: ../variables/globals.yml + - template: ../variables/globals.yml + pool: - vmImage: 'ubuntu-16.04' + vmImage: "ubuntu-16.04" steps: - task: NodeTool@0 inputs: - versionSpec: '$(NodeVersion)' - displayName: 'Install Node.js $(NodeVersion)' + versionSpec: "$(NodeVersion)" + displayName: "Install Node.js $(NodeVersion)" - script: | node common/scripts/install-run-rush.js install - displayName: 'Install dependencies' + displayName: "Install dependencies" - ${{ if eq(parameters.PackageName,'')}}: - - script: | - node common/scripts/install-run-rush.js build --verbose - displayName: 'Build libraries' - - script: | - node common/scripts/install-run-rush.js pack --verbose - displayName: 'Pack libraries' + - script: | + node common/scripts/install-run-rush.js build --verbose + displayName: "Build libraries" + - script: | + node common/scripts/install-run-rush.js pack --verbose + displayName: "Pack libraries" - ${{ if ne(parameters.PackageName,'')}}: - - script: | - node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}} - displayName: 'Build libraries' - - script: | - node common/scripts/install-run-rush.js pack --verbose --to ${{parameters.PackageName}} - displayName: 'Pack libraries' + - script: | + node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}} + displayName: "Build libraries" + - script: | + node common/scripts/install-run-rush.js pack --verbose --to ${{parameters.PackageName}} + displayName: "Pack libraries" - task: CopyFiles@2 inputs: - contents: 'sdk/**/**/*.tgz' + contents: "sdk/**/**/*.tgz" targetFolder: $(Build.ArtifactStagingDirectory) flattenFolders: true - displayName: 'Copy packages' + displayName: "Copy packages" - task: PublishPipelineArtifact@0 condition: succeededOrFailed() - displayName: 'Publish artifacts' + displayName: "Publish artifacts" inputs: artifactName: packages targetPath: $(Build.ArtifactStagingDirectory) - - job: 'Analyze' + - job: "Analyze" variables: - - template: ../variables/globals.yml + - template: ../variables/globals.yml pool: - vmImage: 'ubuntu-16.04' + vmImage: "ubuntu-16.04" steps: - task: UsePythonVersion@0 - displayName: 'Use Python 3.6' + displayName: "Use Python 3.6" inputs: - versionSpec: '3.6' + versionSpec: "3.6" - task: NodeTool@0 inputs: - versionSpec: '$(NodeVersion)' - displayName: 'Install Node.js $(NodeVersion)' + versionSpec: "$(NodeVersion)" + displayName: "Install Node.js $(NodeVersion)" - script: | pip install setuptools wheel pip install doc-warden ward scan -d $(Build.SourcesDirectory) -c $(Build.SourcesDirectory)/.docsettings.yml - displayName: 'Verify Readmes' + displayName: "Verify Readmes" - - script: | - node common/scripts/install-run-rush.js install - node common/scripts/install-run-rush.js audit $(rushFlags) - condition: and(succeeded(), eq(variables['RunNpmAudit'], 'true')) - displayName: 'Audit packages' + - ${{ if eq(parameters.PackageName,'')}}: + - script: | + node common/scripts/install-run-rush.js install + node common/scripts/install-run-rush.js audit + condition: and(succeeded(), eq(variables['RunNpmAudit'], 'true')) + displayName: "Audit packages" + + - ${{ if ne(parameters.PackageName,'')}}: + - script: | + node common/scripts/install-run-rush.js install + node common/scripts/install-run-rush.js audit --to ${{parameters.PackageName}} + condition: and(succeeded(), eq(variables['RunNpmAudit'], 'true')) + displayName: "Audit packages" - task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0 # ComponentGovernance is currently unable to run on pull requests of public projects. Running on non-PR # builds should be sufficient. condition: and(succeededOrFailed(), ne(variables['Build.Reason'], 'PullRequest')) - displayName: 'Component Detection' + displayName: "Component Detection" - - job: 'Test' + - job: "Test" strategy: matrix: Linux_Node8: - OSName: 'Linux' - OSVmImage: 'ubuntu-16.04' - NodeVersion: '8.x' + OSName: "Linux" + OSVmImage: "ubuntu-16.04" + NodeVersion: "8.x" Linux_Node10: - OSName: 'Linux' - OSVmImage: 'ubuntu-16.04' - NodeVersion: '10.x' + OSName: "Linux" + OSVmImage: "ubuntu-16.04" + NodeVersion: "10.x" Linux_Node12: - OSName: 'Linux' - OSVmImage: 'ubuntu-16.04' - NodeVersion: '12.x' + OSName: "Linux" + OSVmImage: "ubuntu-16.04" + NodeVersion: "12.x" macOS_Node8: - OSName: 'macOS' - OSVmImage: 'macOS-10.13' - NodeVersion: '8.x' + OSName: "macOS" + OSVmImage: "macOS-10.13" + NodeVersion: "8.x" macOS_Node10: - OSName: 'macOS' - OSVmImage: 'macOS-10.13' - NodeVersion: '10.x' + OSName: "macOS" + OSVmImage: "macOS-10.13" + NodeVersion: "10.x" macOS_Node12: - OSName: 'macOS' - OSVmImage: 'macOS-10.13' - NodeVersion: '12.x' + OSName: "macOS" + OSVmImage: "macOS-10.13" + NodeVersion: "12.x" Windows_Node8: - OSName: 'Windows' - OSVmImage: 'vs2017-win2016' - NodeVersion: '8.x' + OSName: "Windows" + OSVmImage: "vs2017-win2016" + NodeVersion: "8.x" Windows_Node10: - OSName: 'Windows' - OSVmImage: 'vs2017-win2016' - NodeVersion: '10.x' + OSName: "Windows" + OSVmImage: "vs2017-win2016" + NodeVersion: "10.x" Windows_Node12: - OSName: 'Windows' - OSVmImage: 'vs2017-win2016' - NodeVersion: '12.x' + OSName: "Windows" + OSVmImage: "vs2017-win2016" + NodeVersion: "12.x" pool: - vmImage: '$(OSVmImage)' + vmImage: "$(OSVmImage)" steps: - task: NodeTool@0 inputs: - versionSpec: '$(NodeVersion)' - displayName: 'Install Node.js $(NodeVersion)' + versionSpec: "$(NodeVersion)" + displayName: "Install Node.js $(NodeVersion)" - script: | node common/scripts/install-run-rush.js install - displayName: 'Install dependencies' + displayName: "Install dependencies" # If there is no package name, then don't use the --to option. - ${{ if eq(parameters.PackageName,'')}}: - - script: | - node common/scripts/install-run-rush.js build --verbose - displayName: 'Build libraries"' - - script: | - node common/scripts/install-run-rush.js build:test --verbose - displayName: 'Build test assets' - - script: | - node common/scripts/install-run-rush.js unit-test --verbose - displayName: 'Test libraries' + - script: | + node common/scripts/install-run-rush.js build --verbose + displayName: 'Build libraries"' + - script: | + node common/scripts/install-run-rush.js build:test --verbose + displayName: "Build test assets" + - script: | + node common/scripts/install-run-rush.js unit-test --verbose + displayName: "Test libraries" # On the other hand, if there is a PackageName, supply the --to option. - ${{ if ne(parameters.PackageName,'')}}: - - script: | - node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}} - displayName: 'Build libraries"' - - script: | - node common/scripts/install-run-rush.js build:test --verbose --to ${{parameters.PackageName}} - displayName: 'Build test assets' - - script: | - node common/scripts/install-run-rush.js unit-test --verbose --to ${{parameters.PackageName}} - displayName: 'Test libraries' + - script: | + node common/scripts/install-run-rush.js build --verbose --to ${{parameters.PackageName}} + displayName: 'Build libraries"' + - script: | + node common/scripts/install-run-rush.js build:test --verbose --to ${{parameters.PackageName}} + displayName: "Build test assets" + - script: | + node common/scripts/install-run-rush.js unit-test --verbose --to ${{parameters.PackageName}} + displayName: "Test libraries" - task: PublishTestResults@2 inputs: - testResultsFiles: '**/test-results.xml' - testRunTitle: '$(OSName) Node $(NodeVersion)' + testResultsFiles: "**/test-results.xml" + testRunTitle: "$(OSName) Node $(NodeVersion)" condition: succeededOrFailed() - displayName: 'Publish test results' + displayName: "Publish test results"