Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 92 additions & 11 deletions eng/ci/library-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ parameters:
displayName: 'v2.x Library Release (3.13+)'
type: boolean
default: false
- name: V1LibraryVersion
displayName: 'V1 library version to release (e.g., 1.25.0)'
type: string
default: ''
- name: V2LibraryVersion
displayName: 'V2 library version to release (e.g., 2.0.0)'
type: string
default: ''

resources:
repositories:
Expand All @@ -26,28 +34,101 @@ extends:
os: windows

stages:
- stage: ReleaseV1
displayName: 'Release v1.x'
- stage: ReleaseV1_BumpVersion
dependsOn: []
displayName: 'V1 Library - Bump Version'
condition: eq(${{ parameters.V1LibraryRelease }}, True)
jobs:
- template: /eng/templates/official/jobs/publish-release.yml@self
- template: /eng/templates/official/release/bump-version.yml@self
parameters:
libraryVersion: $(NewLibraryVersionV1)
libraryVersion: ${{ parameters.V1LibraryVersion }}
projectDisplayName: 'Azure Functions Python Library V1'
versionFilePath: 'azure/functions/__init__.py'
versionPattern: "__version__ = '([0-9])+\\.([0-9])+.*'"
versionReplacement: "__version__ = '{{VERSION}}'"
pyprojectPath: 'pyproject.toml'
pythonVersionRequirement: '>=3.10,<3.13'
pythonClassifiers: |
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12'
releaseBranchPrefix: 'release'
createPullRequest: true
baseBranch: 'dev'

- stage: ReleaseV1_Build
dependsOn: ReleaseV1_BumpVersion
displayName: 'V1 Library - Build'
condition: eq(${{ parameters.V1LibraryRelease }}, True)
jobs:
- template: /eng/templates/official/release/build-artifacts.yml@self
parameters:
artifactName: 'azure-functions'
projectDisplayName: 'Azure Functions Python Library V1'
libraryVersion: ${{ parameters.V1LibraryVersion }}
releaseBranchPrefix: 'release'
projectDirectory: '.'
pythonVersion: '3.11'

- stage: ReleaseV1_Release
dependsOn: ReleaseV1_Build
displayName: 'V1 Library - Release'
condition: eq(${{ parameters.V1LibraryRelease }}, True)
jobs:
- template: /eng/templates/official/release/publish-release.yml@self
parameters:
libraryVersion: ${{ parameters.V1LibraryVersion }}
projectDisplayName: 'Azure Functions Python Library V1'
releaseBranchPrefix: 'release'
tagPrefix: ''
blobPath: 'azure-functions/python/azure-functions'
artifactName: 'azure-functions'

- stage: ReleaseV2
displayName: 'Release v2.x'
dependsOn: ReleaseV1
condition: and(eq(${{ parameters.V2LibraryRelease }}, True), in(dependencies.ReleaseV1.result, 'Succeeded', 'Skipped'))
- stage: ReleaseV2_BumpVersion
dependsOn: []
displayName: 'V2 Library - Bump Version'
condition: eq(${{ parameters.V2LibraryRelease }}, True)
jobs:
- template: /eng/templates/official/jobs/publish-release.yml@self
- template: /eng/templates/official/release/bump-version.yml@self
parameters:
libraryVersion: $(NewLibraryVersionV2)
libraryVersion: ${{ parameters.V2LibraryVersion }}
projectDisplayName: 'Azure Functions Python Library V2'
versionFilePath: 'azure/functions/__init__.py'
versionPattern: "__version__ = '([0-9])+\\.([0-9])+.*'"
versionReplacement: "__version__ = '{{VERSION}}'"
pyprojectPath: 'pyproject.toml'
pythonVersionRequirement: '>=3.13'
pythonClassifiers: |
'Programming Language :: Python :: 3.13',
'Programming Language :: Python :: 3.14'
'Programming Language :: Python :: 3.14'
releaseBranchPrefix: 'release'
createPullRequest: true
baseBranch: 'dev'

- stage: ReleaseV2_Build
dependsOn: ReleaseV2_BumpVersion
displayName: 'V2 Library - Build'
condition: eq(${{ parameters.V2LibraryRelease }}, True)
jobs:
- template: /eng/templates/official/release/build-artifacts.yml@self
parameters:
artifactName: 'azure-functions'
projectDisplayName: 'Azure Functions Python Library V2'
libraryVersion: ${{ parameters.V2LibraryVersion }}
releaseBranchPrefix: 'release'
projectDirectory: '.'
pythonVersion: '3.13'

- stage: ReleaseV2_Release
dependsOn: ReleaseV2_Build
displayName: 'V2 Library - Release'
condition: eq(${{ parameters.V2LibraryRelease }}, True)
jobs:
- template: /eng/templates/official/release/publish-release.yml@self
parameters:
libraryVersion: ${{ parameters.V2LibraryVersion }}
projectDisplayName: 'Azure Functions Python Library V2'
releaseBranchPrefix: 'release'
tagPrefix: ''
blobPath: 'azure-functions/python/azure-functions'
artifactName: 'azure-functions'
Loading
Loading