Skip to content

Commit 438ef2b

Browse files
committed
pipeline fixes
1 parent 683ae73 commit 438ef2b

File tree

10 files changed

+82
-65
lines changed

10 files changed

+82
-65
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Required dependencies listed in pyproject.toml
2+
.

azure_functions_worker_v2/tests/unittests/test_code_quality.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ def test_mypy(self):
2323
stderr=subprocess.PIPE,
2424
cwd=str(ROOT_PATH))
2525
except subprocess.CalledProcessError as ex:
26-
if (sys.version_info[1] == 7
27-
and sys.version_info[2] == 3):
28-
raise unittest.SkipTest('Subprocess start failing for 3.7.3') \
29-
from ex
3026
output = ex.output.decode()
3127
raise AssertionError(
3228
'mypy validation failed:\n%s', output) from None

eng/ci/official-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ extends:
8080

8181
# Python V2 Library Build and Test Stages
8282
- stage: BuildV2Library
83+
dependsOn: []
8384
jobs:
8485
- template: /eng/templates/official/jobs/build-library.yml@self
8586
parameters:

eng/ci/public-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ extends:
7474

7575
# Python V2 Library Build and Test Stages
7676
- stage: BuildV2Library
77+
dependsOn: []
7778
jobs:
7879
- template: /eng/templates/jobs/build.yml@self
7980
parameters:

eng/ci/release.yml renamed to eng/ci/worker-release.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ parameters:
55
displayName: 'Worker Release (Nuget)'
66
type: boolean
77
default: false
8+
- name: LibraryRelease
9+
displayName: 'Library Release (PyPI)'
10+
type: boolean
11+
default: false
812

913
resources:
1014
repositories:
@@ -34,9 +38,10 @@ extends:
3438
displayName: 'Release Python Worker (Nuget)'
3539
jobs:
3640
- template: /eng/templates/official/jobs/publish-release.yml@self
37-
condition: eq(variables['WorkerRelease'], true)
41+
condition: eq(${{ parameters.WorkerRelease }}, True)
3842
- stage: ReleasePythonV2Library
43+
dependsOn: []
3944
displayName: 'Release V2 Library (PyPI)'
4045
jobs:
4146
- template: /eng/templates/official/jobs/publish-library-release.yml@self
42-
condition: eq(variables['LibraryRelease'], true)
47+
condition: eq(${{ parameters.LibraryRelease }}, True)

eng/templates/jobs/ci-library-unit-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ jobs:
2727
python -m pytest -q -n auto --dist loadfile --reruns 4 --instafail --cov=./azure_functions_worker_v2 --cov-report xml --cov-branch tests/unittests
2828
displayName: "Running $(PYTHON_VERSION) Unit Tests"
2929
env:
30-
AzureWebJobsStorage: $(AzureWebJobsStorage)
30+
AzureWebJobsStorage: $(LinuxStorageConnectionString312)
3131
workingDirectory: $(Build.SourcesDirectory)/${{ parameters.PROJECT_DIRECTORY }}

eng/templates/official/jobs/publish-library-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
- powershell: |
5353
$githubUser = "$(GithubUser)"
5454
$githubToken = "$(GithubPat)"
55-
$newLibraryVersion = "$(NewLibraryVersion)"
55+
$newLibraryVersion = "$(NewWorkerVersion)"
5656
$newBranch = "runtime-v2/$newLibraryVersion"
5757
5858
if($newLibraryVersion -match '(\d)+.(\d)+.(\d)+') {
@@ -71,7 +71,7 @@ jobs:
7171
7272
# Modify Runtime Version in pyproject.toml
7373
Write-Host "Replacing Runtime version in worker's pyproject.toml"
74-
((Get-Content workers/pyproject.toml) -replace '"azure-functions-runtime==(\d)+.(\d)+.*"','"azure-functions-runtime==$(NewLibraryVersion)"' -join "`n") + "`n" | Set-Content -NoNewline workers/pyproject.toml
74+
((Get-Content workers/pyproject.toml) -replace '"azure-functions-runtime==(\d)+.(\d)+.*"','"azure-functions-runtime==$(newLibraryVersion)"' -join "`n") + "`n" | Set-Content -NoNewline workers/pyproject.toml
7575
7676
# Commit Python Version
7777
Write-Host "Pushing $newBranch to azure-functions-python-worker repo"

eng/templates/official/jobs/publish-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ jobs:
177177
displayName: 'Create Host PR for dev'
178178
179179
- job: "CheckHostPRs"
180-
dependsOn: ['HostRepoPRs']
180+
dependsOn: ['HostRepoPR']
181181
displayName: '(Manual) Check Host PRs'
182182
pool: server
183183
steps:
@@ -187,4 +187,4 @@ jobs:
187187
notifyUsers: ''
188188
instructions: |
189189
Go to https://github.com/Azure/azure-functions-host/pulls and finish the host v4 PR.
190-
If the content misses something, checkout "python/x.y.z" from remote and make new commits to it.
190+
If the content misses something, checkout "python/x.y.z" from remote and make new commits to it.
Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
parameters:
2-
GithubPat: ''
3-
NewLibraryVersion: ''
42
PROJECT_DIRECTORY: ''
53
PROJECT_NAME: ''
64
BRANCH_NAME: ''
@@ -9,29 +7,54 @@ steps:
97
- powershell: |
108
$githubToken = "$(GithubPat)"
119
$newWorkerVersion = "$(NewWorkerVersion)"
12-
$versionFile = "$PROJECT_NAME/version.py"
10+
$versionFile = "${{ parameters.PROJECT_NAME}}/version.py"
11+
$newBranch = "${{ parameters.BRANCH_NAME}}/$newWorkerVersion"
1312
14-
if($newWorkerVersion -match '(\d)+.(\d)+.(\d)+') {
13+
if ($newWorkerVersion -match '^(\d+)\.(\d+)\.(\d+)([a-zA-Z0-9\-\.]*)?$') {
1514
# Create GitHub credential
1615
git config --global user.name "AzureFunctionsPython"
1716
git config --global user.email "[email protected]"
17+
$credential = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("${githubUser}:${githubToken}"))
1818
1919
# Heading to Artifact Repository
2020
Write-Host "Operating based on $stagingDirectory/azure-functions-python-worker"
21-
git checkout -b "$BRANCH_NAME/$newWorkerVersion"
22-
cd $PROJECT_DIRECTORY
21+
git checkout -b "$newBranch"
22+
cd ${{ parameters.PROJECT_DIRECTORY}}
2323
24-
# Change $PROJECT_NAME/version.py version
24+
# Change ${{ parameters.PROJECT_NAME}}/version.py version
2525
Write-Host "Change version number in version.py to $newWorkerVersion"
2626
((Get-Content $versionFile) -replace "VERSION = '(\d+).(\d+).*'", "VERSION = '$newWorkerVersion'" -join "`n") + "`n" | Set-Content -NoNewline $versionFile
2727
git add $versionFile
28-
git commit -m "build: update $PROJECT_NAME version to $newWorkerVersion"
28+
git commit -m "build: update ${{ parameters.PROJECT_NAME}} version to $newWorkerVersion"
2929
30-
# Create release branch $BRANCH_NAME/X.Y.Z
31-
Write-Host "Creating release branch $BRANCH_NAME/$newWorkerVersion"
30+
# Create release branch ${{ parameters.BRANCH_NAME}}/X.Y.Z
31+
Write-Host "Creating release branch $newBranch"
3232
git push --repo="https://[email protected]/Azure/azure-functions-python-worker.git"
33+
34+
# Create PR
35+
Write-Host "Creating PR draft in GitHub"
36+
$body = @{
37+
head = "$newBranch"
38+
base = "dev"
39+
title = "build: update $($parameters.PROJECT_NAME) version to $newWorkerVersion"
40+
body = "Version $newWorkerVersion"
41+
draft = $true
42+
maintainer_can_modify = $true
43+
} | ConvertTo-Json -Compress
44+
45+
$headers = @{
46+
"Authorization" = "Basic $credential"
47+
"Content-Type" = "application/json"
48+
"Accept" = "application/vnd.github.v3+json"
49+
"User-Agent" = "AzureDevOpsPipeline"
50+
}
51+
52+
$response = Invoke-WebRequest -Headers $headers -Method Post -Body $body -Uri "https://api.github.com/repos/Azure/azure-functions-python-worker/pulls"
53+
54+
$draftUrl = $response | ConvertFrom-Json | Select -expand url
55+
Write-Host "PR draft created in $draftUrl"
3356
} else {
3457
Write-Host "NewWorkerVersion $newWorkerVersion is malformed (example: 1.1.8)"
3558
exit -1
3659
}
37-
displayName: 'Push $BRANCH_NAME/x.y.z'
60+
displayName: 'Push ${{ parameters.BRANCH_NAME}}/x.y.z'
Lines changed: 32 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,48 @@
11
parameters:
2-
GithubPat: ''
3-
NewLibraryVersion: ''
42
BRANCH_NAME: ''
53

64
steps:
75
- powershell: |
86
$githubToken = "$(GithubPat)"
97
$newWorkerVersion = "$(NewWorkerVersion)"
108
11-
if($newWorkerVersion -match '(\d)+.(\d)+.(\d)+') {
12-
# Create GitHub credential
13-
git config --global user.name "AzureFunctionsPython"
14-
git config --global user.email "[email protected]"
15-
16-
# Clone Repository
17-
git clone https://[email protected]/Azure/azure-functions-python-worker
18-
Write-Host "Cloned azure-functions-python-worker into local"
19-
Set-Location "azure-functions-python-worker"
20-
git checkout "origin/$BRANCH_NAME/$newWorkerVersion"
21-
22-
# Create release tag X.Y.Z
23-
Write-Host "Creating release tag $newWorkerVersion"
24-
git tag -a "$newWorkerVersion" -m "$newWorkerVersion"
25-
26-
# Push tag to remote
27-
git push origin $newWorkerVersion
28-
} else {
29-
Write-Host "NewWorkerVersion $newWorkerVersion is malformed (example: 1.1.8)"
30-
exit -1
31-
}
9+
# Create GitHub credential
10+
git config --global user.name "AzureFunctionsPython"
11+
git config --global user.email "[email protected]"
12+
13+
# Clone Repository
14+
git clone https://[email protected]/Azure/azure-functions-python-worker
15+
Write-Host "Cloned azure-functions-python-worker into local"
16+
Set-Location "azure-functions-python-worker"
17+
git checkout "origin/${{ parameters.BRANCH_NAME}}/$newWorkerVersion"
18+
19+
# Create release tag X.Y.Z
20+
Write-Host "Creating release tag $newWorkerVersion"
21+
git tag -a "$newWorkerVersion" -m "$newWorkerVersion"
22+
23+
# Push tag to remote
24+
3225
displayName: 'Create and push release tag x.y.z'
3326
- powershell: |
3427
$githubUser = "$(GithubUser)"
3528
$githubToken = "$(GithubPat)"
3629
$newWorkerVersion = "$(NewWorkerVersion)"
3730
38-
if($newWorkerVersion -match '(\d)+.(\d)+.(\d)+') {
39-
# Create GitHub credential
40-
$credential = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("${githubUser}:${githubToken}"))
41-
42-
# Create Release Note
43-
Write-Host "Creating release note in GitHub"
44-
$body = (@{tag_name="$newWorkerVersion";name="Release $newWorkerVersion";body="- Fill in Release Note Here";draft=$true} | ConvertTo-Json -Compress)
45-
$response = Invoke-WebRequest -Headers @{"Cache-Control"="no-cache";"Content-Type"="application/json";"Authorization"="Basic $credential"} -Method Post -Body "$body" -Uri "https://api.github.com/repos/Azure/azure-functions-python-worker/releases"
46-
47-
# Return Value
48-
if ($response.StatusCode -ne 201) {
49-
Write-Host "Failed to create release note in GitHub"
50-
exit -1
51-
}
52-
53-
$draftUrl = $response | ConvertFrom-Json | Select -expand url
54-
Write-Host "Release draft created in $draftUrl"
55-
} else {
56-
Write-Host "NewWorkerVersion $newWorkerVersion is malformed (example: 1.1.8)"
31+
# Create GitHub credential
32+
$credential = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("${githubUser}:${githubToken}"))
33+
34+
# Create Release Note
35+
Write-Host "Creating release note in GitHub"
36+
$body = (@{tag_name="$newWorkerVersion";name="Release $newWorkerVersion";body="- Fill in Release Note Here";draft=$true} | ConvertTo-Json -Compress)
37+
$response = Invoke-WebRequest -Headers @{"Cache-Control"="no-cache";"Content-Type"="application/json";"Authorization"="Basic $credential"} -Method Post -Body "$body" -Uri "https://api.github.com/repos/Azure/azure-functions-python-worker/releases"
38+
39+
# Return Value
40+
if ($response.StatusCode -ne 201) {
41+
Write-Host "Failed to create release note in GitHub"
5742
exit -1
5843
}
59-
displayName: 'Create GitHub release draft'
44+
45+
$draftUrl = $response | ConvertFrom-Json | Select -expand url
46+
Write-Host "Release draft created in $draftUrl"
47+
48+
displayName: 'Create GitHub release draft'

0 commit comments

Comments
 (0)