-
Notifications
You must be signed in to change notification settings - Fork 29
Use ESRP build, sign, release #142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
3c718ae
d3c2984
67c5b93
e4e66fa
6257598
628048d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" | |
|
|
||
| [project] | ||
| name = "durabletask.azuremanaged" | ||
| version = "1.4.0" | ||
| version = "1.5.0" | ||
| description = "Durable Task Python SDK provider implementation for the Azure Durable Task Scheduler" | ||
| keywords = [ | ||
| "durable", | ||
|
|
@@ -26,7 +26,7 @@ requires-python = ">=3.10" | |
| license = {file = "LICENSE"} | ||
| readme = "README.md" | ||
| dependencies = [ | ||
| "durabletask>=1.4.0", | ||
| "durabletask>=1.5.0", | ||
| "azure-identity>=1.19.0" | ||
| ] | ||
|
|
||
|
Comment on lines
28
to
32
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed. @andystaples should we bump this to 1.5.0?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done — bumped the Posted on behalf of @andystaples by GitHub Copilot agent. |
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| variables: | ||
| - template: ci/variables/cfs.yml@eng | ||
|
|
||
| trigger: | ||
| batch: true | ||
| branches: | ||
| include: | ||
| - main | ||
|
|
||
| # CI only, does not trigger on PRs. | ||
| pr: none | ||
|
|
||
| schedules: | ||
| # Build nightly to catch any new CVEs and report SDL often. | ||
| # We are also required to generate CodeQL reports weekly, so this | ||
| # helps us meet that. | ||
| - cron: "0 5 * * *" | ||
| displayName: Nightly Build | ||
| branches: | ||
| include: | ||
| - main | ||
| always: true | ||
|
|
||
| resources: | ||
| repositories: | ||
| - repository: 1es | ||
| type: git | ||
| name: 1ESPipelineTemplates/1ESPipelineTemplates | ||
| ref: refs/tags/release | ||
| - repository: eng | ||
| type: git | ||
| name: engineering | ||
| ref: refs/tags/release | ||
|
|
||
| extends: | ||
| template: v1/1ES.Official.PipelineTemplate.yml@1es | ||
| parameters: | ||
| pool: | ||
| name: 1es-pool-azfunc | ||
| image: 1es-ubuntu-22.04 | ||
| os: linux | ||
| ${{ if eq( variables['Build.Reason'], 'Schedule' ) }}: | ||
| demands: | ||
| - Priority -equals Low | ||
| sdl: | ||
| sourceAnalysisPool: | ||
| name: 1es-pool-azfunc | ||
| image: 1es-windows-2022 | ||
| os: windows | ||
|
|
||
| stages: | ||
| - stage: BuildAndSign | ||
| dependsOn: [] | ||
| jobs: | ||
| - template: /eng/templates/build.yml@self |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| pr: none | ||
| trigger: none | ||
|
|
||
| resources: | ||
| repositories: | ||
| - repository: 1ESPipelineTemplates | ||
| type: git | ||
| name: 1ESPipelineTemplates/1ESPipelineTemplates | ||
| ref: refs/tags/release | ||
| pipelines: | ||
| - pipeline: DurableTaskPythonBuildPipeline | ||
| source: durabletask-python.official | ||
|
|
||
| extends: | ||
| template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates | ||
| parameters: | ||
| pool: | ||
| name: 1es-pool-azfunc | ||
| image: 1es-ubuntu-22.04 | ||
| os: linux | ||
|
|
||
| stages: | ||
| - stage: release | ||
| jobs: | ||
| - job: durabletask | ||
| displayName: "Release durabletask" | ||
| templateContext: | ||
| type: releaseJob | ||
| isProduction: true | ||
| inputs: | ||
| - input: pipelineArtifact | ||
| pipeline: DurableTaskPythonBuildPipeline | ||
| artifactName: drop | ||
| targetPath: $(System.DefaultWorkingDirectory)/drop | ||
|
|
||
| steps: | ||
| - task: SFP.release-tasks.custom-build-release-task.EsrpRelease@9 | ||
| displayName: "ESRP Release durabletask" | ||
| inputs: | ||
| connectedservicename: "dtfx-internal-esrp-prod" | ||
| usemanagedidentity: true | ||
| keyvaultname: "durable-esrp-akv" | ||
| signcertname: "dts-esrp-cert" | ||
| clientid: "0b3ed1a4-0727-4a50-b82a-02c2bd9dec89" | ||
| intent: "PackageDistribution" | ||
| contenttype: "PyPi" | ||
| contentsource: "Folder" | ||
| folderlocation: "$(System.DefaultWorkingDirectory)/drop/buildoutputs/durabletask" | ||
| waitforreleasecompletion: true | ||
| owners: "torosent@microsoft.com" | ||
| approvers: "andystaples@microsoft.com;beverst@microsoft.com" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do you think this will allow internal TM or AD groups?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Mail-enabled security groups and DLs are accepted by ESRP for the I've switched the YAML to Posted on behalf of @andystaples by GitHub Copilot agent. |
||
| serviceendpointurl: "https://api.esrp.microsoft.com" | ||
|
andystaples marked this conversation as resolved.
|
||
| mainpublisher: "durabletask-java" | ||
| domaintenantid: "33e01921-4d64-4f8c-a055-5bdaffd5e33d" | ||
|
andystaples marked this conversation as resolved.
|
||
|
|
||
| - job: durabletask_azuremanaged | ||
| displayName: "Release durabletask-azuremanaged" | ||
| templateContext: | ||
| type: releaseJob | ||
| isProduction: true | ||
| inputs: | ||
| - input: pipelineArtifact | ||
| pipeline: DurableTaskPythonBuildPipeline | ||
| artifactName: drop | ||
| targetPath: $(System.DefaultWorkingDirectory)/drop | ||
|
|
||
| steps: | ||
| - task: SFP.release-tasks.custom-build-release-task.EsrpRelease@9 | ||
| displayName: "ESRP Release durabletask-azuremanaged" | ||
| inputs: | ||
| connectedservicename: "dtfx-internal-esrp-prod" | ||
| usemanagedidentity: true | ||
| keyvaultname: "durable-esrp-akv" | ||
| signcertname: "dts-esrp-cert" | ||
| clientid: "0b3ed1a4-0727-4a50-b82a-02c2bd9dec89" | ||
| intent: "PackageDistribution" | ||
| contenttype: "PyPi" | ||
| contentsource: "Folder" | ||
| folderlocation: "$(System.DefaultWorkingDirectory)/drop/buildoutputs/durabletask-azuremanaged" | ||
| waitforreleasecompletion: true | ||
| owners: "torosent@microsoft.com" | ||
| approvers: "andystaples@microsoft.com;beverst@microsoft.com" | ||
| serviceendpointurl: "https://api.esrp.microsoft.com" | ||
| mainpublisher: "durabletask-java" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So weird that's the name we picked in the ESRP registration. We could technically update this.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 👍 Agreed — could be cleaner to register a Posted on behalf of @andystaples by GitHub Copilot agent. |
||
| domaintenantid: "33e01921-4d64-4f8c-a055-5bdaffd5e33d" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| jobs: | ||
| - job: | ||
|
andystaples marked this conversation as resolved.
Outdated
|
||
| templateContext: | ||
| outputs: | ||
| - output: pipelineArtifact | ||
| path: $(Build.ArtifactStagingDirectory) | ||
| artifact: drop | ||
| sbomBuildDropPath: "$(System.DefaultWorkingDirectory)" | ||
| sbomPackageName: "Durable Task Python SBOM" | ||
|
|
||
| steps: | ||
| - checkout: self | ||
|
|
||
| - task: UsePythonVersion@0 | ||
| displayName: "Use Python 3.12" | ||
| inputs: | ||
| versionSpec: "3.12" | ||
| addToPath: true | ||
|
|
||
| # The 1ES pool is network-isolated, so direct pypi.org access is blocked. | ||
| # Authenticate pip to an ADO Artifacts feed that proxies PyPI as upstream. | ||
| - task: PipAuthenticate@1 | ||
| displayName: "Pip Authenticate" | ||
| inputs: | ||
| artifactFeeds: "internal/PythonSDK_Internal_PublicPackages" | ||
|
|
||
| # Install build + lint tooling | ||
| - script: | | ||
| python -m pip install --upgrade pip | ||
| python -m pip install build flake8 | ||
| displayName: "Install build tooling" | ||
|
|
||
| # Lint core SDK | ||
| - script: flake8 . | ||
| displayName: "flake8: durabletask" | ||
| workingDirectory: durabletask | ||
|
|
||
| # Lint azuremanaged provider | ||
| - script: flake8 . | ||
| displayName: "flake8: durabletask-azuremanaged" | ||
| workingDirectory: durabletask-azuremanaged | ||
|
|
||
| # Build sdist + wheel for durabletask (core SDK) | ||
| - script: | | ||
| python -m build --sdist --wheel --outdir $(Build.ArtifactStagingDirectory)/buildoutputs/durabletask . | ||
| displayName: "Build durabletask (sdist + wheel)" | ||
|
andystaples marked this conversation as resolved.
|
||
|
|
||
| # Build sdist + wheel for durabletask-azuremanaged | ||
| - script: | | ||
| python -m build --sdist --wheel --outdir $(Build.ArtifactStagingDirectory)/buildoutputs/durabletask-azuremanaged ./durabletask-azuremanaged | ||
| displayName: "Build durabletask-azuremanaged (sdist + wheel)" | ||
|
|
||
| # List staged outputs for visibility in logs | ||
| - script: | | ||
| ls -la $(Build.ArtifactStagingDirectory)/buildoutputs/durabletask | ||
| ls -la $(Build.ArtifactStagingDirectory)/buildoutputs/durabletask-azuremanaged | ||
| displayName: "List build outputs" | ||
Uh oh!
There was an error while loading. Please reload this page.