From 5981340e84f5a256d2c9963b083d591e731c4147 Mon Sep 17 00:00:00 2001 From: Mark McLaughlin Date: Thu, 2 Dec 2021 14:33:18 -0800 Subject: [PATCH 1/2] Updated Pipeline task that runs internal Microsoft security and compliance checks. --- azure-pipelines.yml | 136 +++++++++++++++++++++++++++++++++----------- 1 file changed, 104 insertions(+), 32 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 592d0d7a..4eba78bf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,36 +1,108 @@ -trigger: - - main +pr: + branches: + include: + - main -jobs: - - job: Compliance +stages: + - stage: security-compliance + displayName: 'Security & Compliance' pool: vmImage: 'windows-latest' - steps: - - task: PoliCheck@1 - displayName: '๐ŸŒŽ PoliCheck' - inputs: - inputType: 'Basic' - targetType: 'F' - targetArgument: '$(Build.SourcesDirectory)' - result: 'PoliCheck.xml' - optionsXS: 1 # Scan subfolders - optionsPE: 1 # Enable exclusions - optionsUEPATH: '$(Build.SourcesDirectory)/policheck/UserExclusion.xml' - - task: PublishBuildArtifacts@1 - displayName: 'Create log artifact' - inputs: - pathToPublish: '..\_sdt\logs\PoliCheck\PoliCheck.xml' - artifactName: 'PoliCheck' - - - job: Security + jobs: + - job: compliance + steps: + - task: PoliCheck@1 + displayName: 'Run PoliCheck ๐ŸŒŽ' + inputs: + inputType: 'Basic' + targetType: 'F' + targetArgument: '$(Build.SourcesDirectory)' + result: 'PoliCheck.xml' + optionsXS: 1 + optionsPE: 1 + optionsUEPATH: '$(Build.SourcesDirectory)/policheck/UserExclusion.xml' + - task: PublishBuildArtifacts@1 + displayName: 'Create log artifact' + inputs: + pathToPublish: '..\_sdt\logs\PoliCheck\PoliCheck.xml' + artifactName: 'PoliCheck' + + - job: security + steps: + - task: ESLint@1 + displayName: 'Guardian: ESLint ๐Ÿ›ก' + inputs: + Configuration: 'recommended' + TargetType: 'eslint' + TargetsESLint: | + $(Build.SourcesDirectory)/**/*.ts + ErrorLevel: 'warn' + + - stage: build-test + displayName: 'Build & Test' pool: - vmImage: 'windows-latest' - steps: - - task: ESLint@1 - displayName: '๐Ÿ›ก Guardian: ESLint' - inputs: - Configuration: 'recommended' - TargetType: 'eslint' - TargetsESLint: | - $(Build.SourcesDirectory)/**/*.js - ErrorLevel: 'warn' + vmImage: 'ubuntu-latest' + + jobs: + - job: test + timeoutInMinutes: 10 + + steps: + - task: NodeTool@0 + displayName: 'Setup Node ๐Ÿ’พ' + inputs: + versionSpec: '14.x' + + - script: npm install + displayName: 'Install Dependencies ๐Ÿ“ฅ' + + - script: npm run test + displayName: 'Run Tests ๐Ÿงช' + + - job: lint + timeoutInMinutes: 10 + + steps: + - task: NodeTool@0 + displayName: 'Setup Node ๐Ÿ’พ' + inputs: + versionSpec: '14.x' + + - script: npm install + displayName: 'Install Dependencies ๐Ÿ“ฅ' + + - script: npm run lint + displayName: 'Run Lint Check ๐Ÿ”' + + - script: npm run fmt + displayName: 'Run Format Check ๐ŸŒธ' + + - job: build + timeoutInMinutes: 10 + + steps: + - task: NodeTool@0 + displayName: 'Setup Node ๐Ÿ’พ' + inputs: + versionSpec: '14.x' + + - script: npm install + displayName: 'Install Dependencies ๐Ÿ“ฅ' + + - script: npm run build + displayName: 'Build Toolkit ๐Ÿ—' + + - job: docs + timeoutInMinutes: 10 + + steps: + - task: NodeTool@0 + displayName: 'Setup Node ๐Ÿ’พ' + inputs: + versionSpec: '14.x' + + - script: npm install + displayName: 'Install Dependencies ๐Ÿ“ฅ' + + - script: npm run build:docs + displayName: 'Build Docs ๐Ÿ—' From 21f2a6236856cf32f2fb0bbc85c6278620c91cad Mon Sep 17 00:00:00 2001 From: Mark McLaughlin Date: Thu, 2 Dec 2021 14:49:09 -0800 Subject: [PATCH 2/2] Rename build stages to Azure DevOps conventions --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4eba78bf..593d2f2d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -4,7 +4,7 @@ pr: - main stages: - - stage: security-compliance + - stage: security_compliance displayName: 'Security & Compliance' pool: vmImage: 'windows-latest' @@ -38,7 +38,7 @@ stages: $(Build.SourcesDirectory)/**/*.ts ErrorLevel: 'warn' - - stage: build-test + - stage: build_test displayName: 'Build & Test' pool: vmImage: 'ubuntu-latest'