diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c06ae5c43..1b61fa51c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -20,13 +20,15 @@ resources: - container: node image: packagerepository.sagaws.net:8082/safelite/node-build:15 - container: awscli - image: packagerepository.sagaws.net:8082/safelite/awscli-build:3.7 + image: packagerepository.sagaws.net:8082/safelite/awscli2-build:3.9 + - container: prettier-node + image: packagerepository.sagaws.net:8082/safelite/prettier-node-build:18 repositories: - repository: AzureDevOps type: github name: Safelite/AzureDevOps endpoint: Safelite - ref: refs/tags/t5.5.31 + ref: refs/tags/t5.5.35 variables: - group: Digital-Infrastructure @@ -35,17 +37,25 @@ variables: stages: # PR's - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - - stage: TestPr - displayName: Run Unit Tests For PullRequest - jobs: - - template: templates/digital/vue-jest-run-unit-tests.yml@AzureDevOps - parameters: - nodeContainer: node - npmLocation: $(Build.SourcesDirectory) - testResultsFile: junit.xml - summaryFileLocation: $(Build.SourcesDirectory)/coverage/cobertura-coverage.xml - - + - stage: TestFormat + displayName: Test Code Format + jobs: + - job: checkFormatting + displayName: Check formatting + container: prettier-node + steps: + - bash: prettier --check "$(Build.SourcesDirectory)/src/**/*.(js|vue)" + displayName: Run Prettier check + + - stage: TestPr + displayName: Run Unit Tests For PullRequest + jobs: + - template: templates/digital/vue-jest-run-unit-tests.yml@AzureDevOps + parameters: + nodeContainer: node + npmLocation: $(Build.SourcesDirectory) + testResultsFile: junit.xml + summaryFileLocation: $(Build.SourcesDirectory)/coverage/cobertura-coverage.xml - ${{ else }}: # Dev Build/Deploy - stage: Dev @@ -91,7 +101,13 @@ stages: indexDeployVariables: __VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__) __VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__) - cfDistributionId: $(cfDistributionId) + cfDistributionId: $(vueCfDistributionId) + - template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps + parameters: + awsCliContainer: awscli + distributionId: $(apiCfDistributionId) + paths: /fmg/* + awsProfile: $(devDeploymentProfile) # QA Build/Deploy - stage: Qa @@ -137,7 +153,13 @@ stages: indexDeployVariables: __VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__) __VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__) - cfDistributionId: $(cfDistributionId) + cfDistributionId: $(vueCfDistributionId) + - template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps + parameters: + awsCliContainer: awscli + distributionId: $(apiCfDistributionId) + paths: /fmg/* + awsProfile: $(qaDeploymentProfile) # Prod Build/Deploy - stage: Prod @@ -183,7 +205,13 @@ stages: indexDeployVariables: __VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__: $(__VUE_APP_GOOGLE_TAG_MANAGER_SCRIPT_BODY__) __VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__: $(__VUE_APP_GOOGLE_TAG_MANAGER_NOSCRIPT_FRAME_SRC__) - cfDistributionId: $(cfDistributionId) + cfDistributionId: $(apiCfDistributionId) + - template: templates/digital/invalidate-cloudfront-cache.yml@AzureDevOps + parameters: + awsCliContainer: awscli + distributionId: $(apiCfDistributionId) + paths: /fmg/* + awsProfile: $(prodDeploymentProfile) - template: templates/digital/auto-tag.yml@AzureDevOps parameters: dependsOn: prodBuildDeployment