diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index 547275bf447b..2a0f63a811d8 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -40,6 +40,7 @@ parameters: CoverageArg: '--disablecov' RunForPR: false AdditionalTestMatrix: [] + DevFeedName: 'public/azure-sdk-for-python' jobs: - job: 'Build' diff --git a/eng/pipelines/templates/stages/archetype-python-release.yml b/eng/pipelines/templates/stages/archetype-python-release.yml index 79b9db99e263..29b5eaaca811 100644 --- a/eng/pipelines/templates/stages/archetype-python-release.yml +++ b/eng/pipelines/templates/stages/archetype-python-release.yml @@ -3,7 +3,7 @@ parameters: ArtifactName: 'not-specified' DependsOn: Build DocArtifact: 'documentation' - DevFeedName: public/azure-sdk-for-python + DevFeedName: 'public/azure-sdk-for-python' TargetDocRepoOwner: '' TargetDocRepoName: '' @@ -236,22 +236,9 @@ stages: pip install twine displayName: Install Twine - - pwsh: | - # For safety default to publishing to the private feed. - # Publish to https://dev.azure.com/azure-sdk/internal/_packaging?_a=feed&feed=azure-sdk-for-python-pr - $devopsFeedName = 'internal/azure-sdk-for-python-pr' - if ('$(Build.Repository.Name)' -eq 'Azure/azure-sdk-for-python') { - # Publish to https://dev.azure.com/azure-sdk/public/_packaging?_a=feed&feed=azure-sdk-for-python - $devopsFeedName = '${{ parameters.DevFeedName }}' - } - echo "##vso[task.setvariable variable=DevFeedName]$devopsFeedName" - echo "Using DevopsFeed = $devopsFeedName" - displayName: Setup DevOpsFeedName - - - task: TwineAuthenticate@0 - displayName: 'Authenticate to feed' - inputs: - artifactFeeds: $(DevFeedName) + - template: ../steps/auth-dev-feed.yml + parameters: + DevFeedName: ${{ parameters.DevFeedName }} - ${{ each artifact in parameters.Artifacts }}: - pwsh: | diff --git a/eng/pipelines/templates/stages/archetype-sdk-client.yml b/eng/pipelines/templates/stages/archetype-sdk-client.yml index bc7ecfb10c2b..64231fde8821 100644 --- a/eng/pipelines/templates/stages/archetype-sdk-client.yml +++ b/eng/pipelines/templates/stages/archetype-sdk-client.yml @@ -26,6 +26,9 @@ parameters: - name: AdditionalTestMatrix type: object default: [] +- name: DevFeedName + type: string + default: public/azure-sdk-for-python stages: - stage: Build @@ -38,6 +41,7 @@ stages: InjectedPackages: ${{parameters.InjectedPackages}} SkipPythonVersion: ${{parameters.SkipPythonVersion}} AdditionalTestMatrix: ${{parameters.AdditionalTestMatrix}} + DevFeedName: ${{parameters.DevFeedName}} # The Prerelease and Release stages are conditioned on whether we are building a pull request and the branch. - ${{if and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal'))}}: @@ -49,4 +53,5 @@ stages: ArtifactName: packages DocArtifact: documentation TargetDocRepoOwner: ${{parameters.TargetDocRepoOwner}} - TargetDocRepoName: ${{parameters.TargetDocRepoName}} \ No newline at end of file + TargetDocRepoName: ${{parameters.TargetDocRepoName}} + DevFeedName: ${{parameters.DevFeedName}} \ No newline at end of file diff --git a/eng/pipelines/templates/steps/auth-dev-feed.yml b/eng/pipelines/templates/steps/auth-dev-feed.yml new file mode 100644 index 000000000000..1935e30932a9 --- /dev/null +++ b/eng/pipelines/templates/steps/auth-dev-feed.yml @@ -0,0 +1,26 @@ +parameters: + DevFeedName: 'public/azure-sdk-for-python' + +steps: + - pwsh: | + # For safety default to publishing to the private feed. + # Publish to https://dev.azure.com/azure-sdk/internal/_packaging?_a=feed&feed=azure-sdk-for-python-pr + $devopsFeedName = 'internal/azure-sdk-for-python-pr' + if ('$(Build.Repository.Name)' -eq 'Azure/azure-sdk-for-python') { + # Publish to https://dev.azure.com/azure-sdk/public/_packaging?_a=feed&feed=azure-sdk-for-python + $devopsFeedName = '${{ parameters.DevFeedName }}' + } + echo "##vso[task.setvariable variable=DevFeedName]$devopsFeedName" + echo "Using DevopsFeed = $devopsFeedName" + displayName: Setup DevOpsFeedName + + - task: TwineAuthenticate@0 + displayName: 'Twine Authenticate to feed' + inputs: + artifactFeeds: $(DevFeedName) + + - task: PipAuthenticate@1 + displayName: 'Pip Authenticate to feed' + inputs: + artifactFeeds: $(DevFeedName) + onlyAddExtraIndex: true \ No newline at end of file diff --git a/eng/pipelines/templates/steps/build-test.yml b/eng/pipelines/templates/steps/build-test.yml index 751925a0c603..24c0b3df675f 100644 --- a/eng/pipelines/templates/steps/build-test.yml +++ b/eng/pipelines/templates/steps/build-test.yml @@ -13,6 +13,7 @@ parameters: RunCoverage: ne(variables['CoverageArg'], '--disablecov') ToxEnvParallel: '' InjectedPackages: '' + DevFeedName: 'public/azure-sdk-for-python' steps: - pwsh: | @@ -32,6 +33,11 @@ steps: pip freeze displayName: 'Prep Environment' + - ${{if eq(variables['System.TeamProject'], 'internal') }}: + - template: ../steps/auth-dev-feed.yml + parameters: + DevFeedName: ${{ parameters.DevFeedName }} + - ${{ parameters.BeforeTestSteps }} - task: PythonScript@0