diff --git a/azure-pipelines/1es-redirect.yml b/azure-pipelines/1es-redirect.yml index 0e806d4ed..3f0d9e46a 100644 --- a/azure-pipelines/1es-redirect.yml +++ b/azure-pipelines/1es-redirect.yml @@ -34,8 +34,12 @@ extends: image: azsdk-pool-mms-win-2022-1espt os: windows sourceRepositoriesToScan: + include: + - repository: self + submodule: false exclude: - repository: azure-sdk-build-tools + runInSingleJob: true eslint: enabled: false justificationForDisabling: 'ESLint injected task has failures because it uses an old version of mkdirp. We should not fail for tools not controlled by the repo. See: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=3499746' diff --git a/azure-pipelines/prod-release-pipelines.yml b/azure-pipelines/prod-release-pipelines.yml index 25237a664..e3772f84a 100644 --- a/azure-pipelines/prod-release-pipelines.yml +++ b/azure-pipelines/prod-release-pipelines.yml @@ -2,7 +2,7 @@ extends: template: /azure-pipelines/1es-redirect.yml parameters: stages: - - stage: Prod_Release + - stage: Build displayName: Prod Release variables: @@ -35,3 +35,8 @@ extends: parameters: ArtifactName: drop ArtifactPath: $(Build.SourcesDirectory)/dist + + - ${{ if and(in(variables['Build.Reason'], 'Manual', ''), eq(variables['System.TeamProject'], 'internal'))}}: + - template: /azure-pipelines/release-stage.yml + parameters: + Version: latest diff --git a/azure-pipelines/release-stage.yml b/azure-pipelines/release-stage.yml new file mode 100644 index 000000000..859b21c35 --- /dev/null +++ b/azure-pipelines/release-stage.yml @@ -0,0 +1,58 @@ +parameters: + - name: Version + type: string + default: 'staging' + values: + - 'beta' + - 'latest' + +stages: + - stage: Release + displayName: Release ${{ parameters.Version }} + dependsOn: Build + + jobs: + - deployment: Publish + environment: 'package-publish' + pool: + name: azsdk-pool-mms-ubuntu-2004-general + image: azsdk-pool-mms-ubuntu-2004-1espt + os: linux + + strategy: + runOnce: + deploy: + steps: + - checkout: self + submodules: false + + - download: current + artifact: drop + timeoutInMinutes: 5 + + - pwsh: | + Write-Host "Will deploy with tag of ${{ parameters.Version }}" + Get-ChildItem "$(Pipeline.Workspace)/drop" -Recurse -Force ` + | Where-Object { $_.Name -like "*.tgz" } ` + | Copy-Item -Destination "$(Build.ArtifactStagingDirectory)" + + Get-ChildItem "$(Build.ArtifactStagingDirectory)" -Recurse -Force | % { Write-Host $_.FullName } + displayName: Move artifact to $(Build.ArtifactStagingDirectory) + + - task: EsrpRelease@7 + inputs: + displayName: 'Publish to ESRP' + ConnectedServiceName: 'Azure SDK Engineering System' + ClientId: '5f81938c-2544-4f1f-9251-dd9de5b8a81b' + KeyVaultName: 'AzureSDKEngKeyVault' + AuthCertName: 'azure-sdk-esrp-release-auth-certificate' + SignCertName: 'azure-sdk-esrp-release-sign-certificate' + Intent: 'PackageDistribution' + ContentType: 'npm' + FolderLocation: $(Build.ArtifactStagingDirectory) + Owners: ${{ coalesce(variables['Build.RequestedForEmail'], 'azuresdk@microsoft.com') }} + Approvers: 'azuresdk@microsoft.com' + ServiceEndpointUrl: 'https://api.esrp.microsoft.com' + MainPublisher: 'ESRPRELPACMANTEST' + DomainTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47' + productstate: ${{ parameters.Version }} \ No newline at end of file diff --git a/azure-pipelines/staging-release-pipelines.yml b/azure-pipelines/staging-release-pipelines.yml index 8a907667f..281947833 100644 --- a/azure-pipelines/staging-release-pipelines.yml +++ b/azure-pipelines/staging-release-pipelines.yml @@ -2,7 +2,7 @@ extends: template: /azure-pipelines/1es-redirect.yml parameters: stages: - - stage: Staging_Release + - stage: Build displayName: Staging Release variables: @@ -39,3 +39,8 @@ extends: parameters: ArtifactName: drop ArtifactPath: $(Build.SourcesDirectory)/dist + + - ${{ if and(in(variables['Build.Reason'], 'Manual', ''), eq(variables['System.TeamProject'], 'internal'))}}: + - template: /azure-pipelines/release-stage.yml + parameters: + Version: beta