#name: $(BuildDefinitionName)_$(date:yyyyMMdd)$(rev:.r) pr: none trigger: paths: include: - 'BasePackage/**' parameters: - name: extension_package_json_versioning displayName: 'Increment extension major/minor version in package.json' type: boolean default: false - name: extension_build_versioning displayName: 'Increment extension build version in package.json' type: boolean default: false - name: extension_publish displayName: 'Publish Extension?' type: boolean default: false resources: repositories: - repository: cicd type: git name: 'DWP/Continuous Integration and Delivery' - repository: perf type: git name: 'DWP/M42ExtensionPerformanceAnalyser' stages: - stage: InternalRelease displayName: Generate Package variables: - template: AzurePipelines/shared/variables/esx-vars.yml@cicd - template: AzurePipelines/shared/variables/esm-deploy-vars.yml@cicd - template: AzurePipelines/shared/variables/extensions-vars.yml@cicd jobs: - job: PreparePackage displayName: Prepare Package pool: name: M42BPM demands: - DotNetFramework - vstest - NPM steps: - template: templates/generate-package.yml parameters: PackagePath: '$(System.DefaultWorkingDirectory)/BasePackage' PackageAdditions: '$(BaseDir)/ConfigPackage' PackageIncrementStrategy: 'parameter-based' PackageBuildNumber: '$(Build.BuildId)' PackagePipelineArtifacts: - artifactName: Backend pipelineProject: DWP pipelineId: 1864 pipelineBranchName: '$(Build.SourceBranch)' downloadPath: '$(Pipeline.Workspace)' targetPath: '$(BaseDir)/ConfigPackage/Assemblies/svc/bin' - job: UpdatePackageVersion condition: and(succeeded(), ne(coalesce(dependencies.PreparePackage.outputs['PassVersion.PassPackageVersion'], ''), '')) variables: - name: PackageVersion value: $[ dependencies.PreparePackage.outputs['PassVersion.PassPackageVersion'] ] pool: name: M42BPM demands: - npm - DotNetFramework - vstest steps: - ${{ if eq(variables['Build.SourceBranchName'], 'main') }}: - checkout: perf persistCredentials: true clean: true - template: templates/update-package-version.yml parameters: GitBranchName: $(Build.SourceBranchName) PackageVersion: $(PackageVersion) - stage: PublicRelease dependsOn: InternalRelease displayName: 'Public Release' condition: and(succeeded(), eq(variables['build.sourceBranchName'], 'main')) variables: - template: AzurePipelines/shared/variables/extensions-vars.yml@cicd - name: PackageVersion value: $[stageDependencies.InternalRelease.PreparePackage.outputs['PassVersion.PassPackageVersion'] ] jobs: - deployment: UploadPackage displayName: 'Publish Package on Gellary' environment: extension-performance-analyzer-env pool: name: M42BPM demands: - DotNetFramework - NPM - msbuild strategy: runOnce: deploy: steps: - checkout: self - task: DownloadPipelineArtifact@2 displayName: Download Package as Artifact inputs: artifactName: Package targetPath: '$(Pipeline.Workspace)' - task: Matrix42ExtensionsUploadReleaseTask@1 displayName: 'Uploading Extension Release: f43b7586-0eae-40bb-9a66-0ea8baa9d5b6' inputs: acspat: 'M42 Extensions - Publish as Matrix42 (Vendor) - DWP' extensionid: 'f43b7586-0eae-40bb-9a66-0ea8baa9d5b6' extensionlocation: '$(Pipeline.Workspace)\Package\package-$(PackageVersion).zip' - ${{ if eq(parameters.extension_publish, true) }}: - task: Matrix42ExtensionsPublishReleaseTask@1 displayName: 'Publishing Extension' inputs: acspat: 'M42 Extensions - Publish as Matrix42 (Vendor) - DWP' extensionid: 'f43b7586-0eae-40bb-9a66-0ea8baa9d5b6' extensionmanifestlocation: 'BasePackage/package.json' extensiontag: stable extensionvisibility: contributors extensioncommunity: true