Skip to content

Conversation

andystaples
Copy link
Collaborator

Adds pipeline steps that, after manual intervention, will upload the built package to PyPi

@andystaples andystaples marked this pull request as draft June 12, 2025 22:09
@andystaples
Copy link
Collaborator Author

Draft PR - needs testing

timeoutInMinutes: 1440 # task times out in 1 day
inputs:
notifyUsers: |
[email protected]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will update this to notify the core durable group

TargetFolder: $(Build.ArtifactStagingDirectory)
TargetFolder: $(Build.ArtifactStagingDirectory)

- task: ManualValidation@1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml#types-of-jobs

You will want this in a separate "server" job. Jobs are "agent" by default, which take up an active slot on our agent pool. These have a timeout ceiling on them, typically about 1hr. A "server" job is limited to specific tasks but can have a significantly longer timeout.

Or you can use a deployment environment which gives another approval mechanism.

pythonUploadServiceConnection: azure-functions-durable-pypi

- script: |
python -m twine upload --config-file $(PYPIRC_PATH) dist/*
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably want to break this out into a different pipeline entirely. Keeping it in this job will cause these builds to fail each time you reject it. So only "released" runs will report as success.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants