diff --git a/eng/ci/worker-release.yml b/eng/ci/worker-release.yml
index 987569c61..d189be866 100644
--- a/eng/ci/worker-release.yml
+++ b/eng/ci/worker-release.yml
@@ -22,10 +22,6 @@ extends:
name: 1es-pool-azfunc
image: 1es-windows-2022
os: windows
- sdl:
- codeSignValidation:
- enabled: true
- break: true
stages:
- stage: Release
diff --git a/pack/Microsoft.Azure.Functions.PythonWorker.targets b/eng/pack/Microsoft.Azure.Functions.PythonWorker.targets
similarity index 96%
rename from pack/Microsoft.Azure.Functions.PythonWorker.targets
rename to eng/pack/Microsoft.Azure.Functions.PythonWorker.targets
index 887dc8d52..e747df63d 100644
--- a/pack/Microsoft.Azure.Functions.PythonWorker.targets
+++ b/eng/pack/Microsoft.Azure.Functions.PythonWorker.targets
@@ -8,6 +8,7 @@
<_PythonSupportedRuntime Include="win-x86" WorkerPath="WINDOWS/X86" />
<_PythonSupportedRuntime Include="win-x64" WorkerPath="WINDOWS/X64" />
<_PythonSupportedRuntime Include="linux-x64" WorkerPath="LINUX/X64" />
+ <_PythonSupportedRuntime Include="linux-arm64" WorkerPath="LINUX/Arm64" />
<_PythonSupportedRuntime Include="osx-x64" WorkerPath="OSX/X64" />
<_PythonSupportedRuntime Include="osx-arm64" WorkerPath="OSX/Arm64" />
diff --git a/eng/pack/Microsoft.Azure.Functions.V4.PythonWorker.nuspec b/eng/pack/Microsoft.Azure.Functions.V4.PythonWorker.nuspec
new file mode 100644
index 000000000..9fa4f554c
--- /dev/null
+++ b/eng/pack/Microsoft.Azure.Functions.V4.PythonWorker.nuspec
@@ -0,0 +1,55 @@
+
+
+
+ Microsoft.Azure.Functions.PythonWorker
+ 1.1.0
+ Microsoft
+ Microsoft
+ false
+ Microsoft Azure Functions Python Worker
+ © .NET Foundation. All rights reserved.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pack/scripts/mac_arm64_deps.sh b/eng/pack/scripts/mac_arm64_deps.sh
similarity index 100%
rename from pack/scripts/mac_arm64_deps.sh
rename to eng/pack/scripts/mac_arm64_deps.sh
diff --git a/pack/scripts/nix_deps.sh b/eng/pack/scripts/nix_deps.sh
similarity index 100%
rename from pack/scripts/nix_deps.sh
rename to eng/pack/scripts/nix_deps.sh
diff --git a/pack/scripts/win_deps.ps1 b/eng/pack/scripts/win_deps.ps1
similarity index 100%
rename from pack/scripts/win_deps.ps1
rename to eng/pack/scripts/win_deps.ps1
diff --git a/pack/templates/macos_64_env_gen.yml b/eng/pack/templates/macos_64_env_gen.yml
similarity index 58%
rename from pack/templates/macos_64_env_gen.yml
rename to eng/pack/templates/macos_64_env_gen.yml
index 75f33bc5f..0ab5d9054 100644
--- a/pack/templates/macos_64_env_gen.yml
+++ b/eng/pack/templates/macos_64_env_gen.yml
@@ -1,24 +1,43 @@
parameters:
pythonVersion: ''
artifactName: ''
- workerPath: ''
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: ${{ parameters.pythonVersion }}
addToPath: true
-- bash: |
- major=$(echo $(pythonVersion) | cut -d. -f1)
- minor=$(echo $(pythonVersion) | cut -d. -f2)
- echo "##vso[task.setvariable variable=pythonMajor]$major"
- echo "##vso[task.setvariable variable=pythonMinor]$minor"
- echo $pythonMinor
- displayName: 'Parse pythonVersion'
+- powershell: |
+ # Parse the Python minor version
+ $PY_VER = "$(pythonVersion)"
+ Write-Host "Python version: $PY_VER"
+ # Extract minor version as integers
+ $versionParts = $PY_VER.Split('.')
+ $PY_MINOR = [int]$versionParts[1]
+ Write-Host "Minor version: $PY_MINOR"
+
+ # Set build-related variables based on Python minor version
+ if( $PY_MINOR -ge 13 )
+ {
+ Write-Host "##vso[task.setvariable variable=workerPath;]$(proxyV4Path)"
+ Write-Host "##vso[task.setvariable variable=proxyWorker;]true"
+ }
+ else
+ {
+ Write-Host "##vso[task.setvariable variable=workerPath;]$(prodV4Path)"
+ Write-Host "##vso[task.setvariable variable=proxyWorker;]false"
+ }
+ displayName: 'Set necessary variables'
+ env:
+ pythonVersion: ${{ parameters.pythonVersion }}
+- powershell: |
+ Write-Host "workerPath: $(workerPath)"
+ Write-Host "proxyWorker: $(proxyWorker)"
+ displayName: 'Display variables'
- task: ShellScript@2
inputs:
disableAutoCwd: true
- scriptPath: 'pack/scripts/mac_arm64_deps.sh'
+ scriptPath: 'eng/pack/scripts/mac_arm64_deps.sh'
args: '${{ parameters.pythonVersion }}'
displayName: 'Install Dependencies'
- bash: |
@@ -28,8 +47,7 @@ steps:
condition: ne(variables['pythonVersion'], '3.7')
- task: CopyFiles@2
inputs:
- contents: |
- ${{ parameters.workerPath }}
+ contents: '$(workerPath)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true
- task: CopyFiles@2
@@ -41,7 +59,7 @@ steps:
!grpcio_tools*/*
!build/**
!docs/**
- !pack/**
+ !eng/**
!python/**
!tests/**
!setuptools*/**
@@ -52,7 +70,7 @@ steps:
!werkzeug/debug/shared/debugger.js
!proxy_worker/**
targetFolder: '$(Build.ArtifactStagingDirectory)'
- condition: in(variables['pythonMinor'], '7', '8', '9', '10', '11', '12')
+ condition: eq(variables['proxyWorker'], false)
displayName: 'Copy azure_functions_worker files'
- task: CopyFiles@2
inputs:
@@ -63,7 +81,7 @@ steps:
!grpcio_tools*/*
!build/**
!docs/**
- !pack/**
+ !eng/**
!python/**
!tests/**
!setuptools*/**
@@ -75,5 +93,5 @@ steps:
!azure_functions_worker/**
!dateutil/**
targetFolder: '$(Build.ArtifactStagingDirectory)'
- condition: in(variables['pythonMinor'], '13')
+ condition: eq(variables['proxyWorker'], true)
displayName: 'Copy proxy_worker files'
diff --git a/pack/templates/nix_env_gen.yml b/eng/pack/templates/nix_env_gen.yml
similarity index 58%
rename from pack/templates/nix_env_gen.yml
rename to eng/pack/templates/nix_env_gen.yml
index db3820153..982949ce4 100644
--- a/pack/templates/nix_env_gen.yml
+++ b/eng/pack/templates/nix_env_gen.yml
@@ -1,24 +1,43 @@
parameters:
pythonVersion: ''
artifactName: ''
- workerPath: ''
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: ${{ parameters.pythonVersion }}
addToPath: true
-- bash: |
- major=$(echo $(pythonVersion) | cut -d. -f1)
- minor=$(echo $(pythonVersion) | cut -d. -f2)
- echo "##vso[task.setvariable variable=pythonMajor]$major"
- echo "##vso[task.setvariable variable=pythonMinor]$minor"
- echo $pythonMinor
- displayName: 'Parse pythonVersion'
+- powershell: |
+ # Parse the Python minor version
+ $PY_VER = "$(pythonVersion)"
+ Write-Host "Python version: $PY_VER"
+ # Extract minor version as integers
+ $versionParts = $PY_VER.Split('.')
+ $PY_MINOR = [int]$versionParts[1]
+ Write-Host "Minor version: $PY_MINOR"
+
+ # Set build-related variables based on Python minor version
+ if( $PY_MINOR -ge 13 )
+ {
+ Write-Host "##vso[task.setvariable variable=workerPath;]$(proxyV4Path)"
+ Write-Host "##vso[task.setvariable variable=proxyWorker;]true"
+ }
+ else
+ {
+ Write-Host "##vso[task.setvariable variable=workerPath;]$(prodV4Path)"
+ Write-Host "##vso[task.setvariable variable=proxyWorker;]false"
+ }
+ displayName: 'Set necessary variables'
+ env:
+ pythonVersion: ${{ parameters.pythonVersion }}
+- powershell: |
+ Write-Host "workerPath: $(workerPath)"
+ Write-Host "proxyWorker: $(proxyWorker)"
+ displayName: 'Display variables'
- task: ShellScript@2
inputs:
disableAutoCwd: true
- scriptPath: 'pack/scripts/nix_deps.sh'
+ scriptPath: 'eng/pack/scripts/nix_deps.sh'
args: '${{ parameters.pythonVersion }}'
displayName: 'Install Dependencies'
- bash: |
@@ -28,8 +47,7 @@ steps:
condition: ne(variables['pythonVersion'], '3.7')
- task: CopyFiles@2
inputs:
- contents: |
- ${{ parameters.workerPath }}
+ contents: '$(workerPath)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true
- task: CopyFiles@2
@@ -41,7 +59,7 @@ steps:
!grpcio_tools*/*
!build/**
!docs/**
- !pack/**
+ !eng/**
!python/**
!tests/**
!setuptools*/**
@@ -52,7 +70,7 @@ steps:
!werkzeug/debug/shared/debugger.js
!proxy_worker/**
targetFolder: '$(Build.ArtifactStagingDirectory)'
- condition: in(variables['pythonMinor'], '7', '8', '9', '10', '11', '12')
+ condition: eq(variables['proxyWorker'], false)
displayName: 'Copy azure_functions_worker files'
- task: CopyFiles@2
inputs:
@@ -63,7 +81,7 @@ steps:
!grpcio_tools*/*
!build/**
!docs/**
- !pack/**
+ !eng/**
!python/**
!tests/**
!setuptools*/**
@@ -75,5 +93,5 @@ steps:
!dateutil/**
!azure_functions_worker/**
targetFolder: '$(Build.ArtifactStagingDirectory)'
- condition: in(variables['pythonMinor'], '13')
+ condition: eq(variables['proxyWorker'], true)
displayName: 'Copy proxy_worker files'
diff --git a/pack/templates/win_env_gen.yml b/eng/pack/templates/win_env_gen.yml
similarity index 58%
rename from pack/templates/win_env_gen.yml
rename to eng/pack/templates/win_env_gen.yml
index b85bf9f89..988c688e0 100644
--- a/pack/templates/win_env_gen.yml
+++ b/eng/pack/templates/win_env_gen.yml
@@ -1,7 +1,6 @@
parameters:
pythonVersion: ''
artifactName: ''
- workerPath: ''
steps:
- task: UsePythonVersion@0
@@ -9,16 +8,36 @@ steps:
versionSpec: ${{ parameters.pythonVersion }}
architecture: ${{ parameters.architecture }}
addToPath: true
-- bash: |
- major=$(echo $(pythonVersion) | cut -d. -f1)
- minor=$(echo $(pythonVersion) | cut -d. -f2)
- echo "##vso[task.setvariable variable=pythonMajor]$major"
- echo "##vso[task.setvariable variable=pythonMinor]$minor"
- echo $pythonMinor
- displayName: 'Parse pythonVersion'
+- powershell: |
+ # Parse the Python minor version
+ $PY_VER = "$(pythonVersion)"
+ Write-Host "Python version: $PY_VER"
+ # Extract minor version as integers
+ $versionParts = $PY_VER.Split('.')
+ $PY_MINOR = [int]$versionParts[1]
+ Write-Host "Minor version: $PY_MINOR"
+
+ # Set build-related variables based on Python minor version
+ if( $PY_MINOR -ge 13 )
+ {
+ Write-Host "##vso[task.setvariable variable=workerPath;]$(proxyV4Path)"
+ Write-Host "##vso[task.setvariable variable=proxyWorker;]true"
+ }
+ else
+ {
+ Write-Host "##vso[task.setvariable variable=workerPath;]$(prodV4Path)"
+ Write-Host "##vso[task.setvariable variable=proxyWorker;]false"
+ }
+ displayName: 'Set necessary variables'
+ env:
+ pythonVersion: ${{ parameters.pythonVersion }}
+- powershell: |
+ Write-Host "workerPath: $(workerPath)"
+ Write-Host "proxyWorker: $(proxyWorker)"
+ displayName: 'Display variables'
- task: PowerShell@2
inputs:
- filePath: 'pack\scripts\win_deps.ps1'
+ filePath: 'eng\pack\scripts\win_deps.ps1'
arguments: '${{ parameters.pythonVersion }}'
- bash: |
pip install pip-audit
@@ -27,8 +46,7 @@ steps:
condition: ne(variables['pythonVersion'], '3.7')
- task: CopyFiles@2
inputs:
- contents: |
- ${{ parameters.workerPath }}
+ contents: '$(workerPath)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true
- task: CopyFiles@2
@@ -40,7 +58,7 @@ steps:
!grpcio_tools*\*
!build\**
!docs\**
- !pack\**
+ !eng\**
!python\**
!tests\**
!setuptools*\**
@@ -51,7 +69,7 @@ steps:
!werkzeug\debug\shared\debugger.js
!proxy_worker\**
targetFolder: '$(Build.ArtifactStagingDirectory)'
- condition: in(variables['pythonMinor'], '7', '8', '9', '10', '11', '12')
+ condition: eq(variables['proxyWorker'], false)
displayName: 'Copy azure_functions_worker files'
- task: CopyFiles@2
inputs:
@@ -62,7 +80,7 @@ steps:
!grpcio_tools*\*
!build\**
!docs\**
- !pack\**
+ !eng\**
!python\**
!tests\**
!setuptools*\**
@@ -74,5 +92,5 @@ steps:
!dateutil\**
!azure_functions_worker\**
targetFolder: '$(Build.ArtifactStagingDirectory)'
- condition: in(variables['pythonMinor'], '13')
+ condition: eq(variables['proxyWorker'], true)
displayName: 'Copy proxy_worker files'
diff --git a/pack/utils/__init__.py b/eng/pack/utils/__init__.py
similarity index 100%
rename from pack/utils/__init__.py
rename to eng/pack/utils/__init__.py
diff --git a/eng/templates/official/jobs/build-artifacts.yml b/eng/templates/official/jobs/build-artifacts.yml
index bc0c5de1a..aab12a746 100644
--- a/eng/templates/official/jobs/build-artifacts.yml
+++ b/eng/templates/official/jobs/build-artifacts.yml
@@ -8,25 +8,18 @@ jobs:
matrix:
Python37V4:
pythonVersion: '3.7'
- workerPath: 'python/prodV4/worker.py'
Python38V4:
pythonVersion: '3.8'
- workerPath: 'python/prodV4/worker.py'
Python39V4:
pythonVersion: '3.9'
- workerPath: 'python/prodV4/worker.py'
Python310V4:
pythonVersion: '3.10'
- workerPath: 'python/prodV4/worker.py'
Python311V4:
pythonVersion: '3.11'
- workerPath: 'python/prodV4/worker.py'
Python312V4:
pythonVersion: '3.12'
- workerPath: 'python/prodV4/worker.py'
Python313V4:
pythonVersion: '3.13'
- workerPath: 'python/proxyV4/worker.py'
templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
outputs:
@@ -34,10 +27,9 @@ jobs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: "$(pythonVersion)_WINDOWS_X64"
steps:
- - template: ../../../../pack/templates/win_env_gen.yml
+ - template: ../../../pack/templates/win_env_gen.yml
parameters:
pythonVersion: '$(pythonVersion)'
- workerPath: '$(workerPath)'
architecture: 'x64'
artifactName: '$(pythonVersion)_WINDOWS_X64'
- job: Build_WINDOWS_X86
@@ -49,25 +41,18 @@ jobs:
matrix:
Python37V4:
pythonVersion: '3.7'
- workerPath: 'python/prodV4/worker.py'
Python38V4:
pythonVersion: '3.8'
- workerPath: 'python/prodV4/worker.py'
Python39V4:
pythonVersion: '3.9'
- workerPath: 'python/prodV4/worker.py'
Python310V4:
pythonVersion: '3.10'
- workerPath: 'python/prodV4/worker.py'
Python311V4:
pythonVersion: '3.11'
- workerPath: 'python/prodV4/worker.py'
Python312V4:
pythonVersion: '3.12'
- workerPath: 'python/prodV4/worker.py'
Python313V4:
pythonVersion: '3.13'
- workerPath: 'python/proxyV4/worker.py'
templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
outputs:
@@ -75,10 +60,9 @@ jobs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: "$(pythonVersion)_WINDOWS_X86"
steps:
- - template: ../../../../pack/templates/win_env_gen.yml
+ - template: ../../../pack/templates/win_env_gen.yml
parameters:
pythonVersion: '$(pythonVersion)'
- workerPath: '$(workerPath)'
architecture: 'x86'
artifactName: '$(pythonVersion)_WINDOWS_x86'
- job: Build_LINUX_X64
@@ -90,25 +74,18 @@ jobs:
matrix:
Python37V4:
pythonVersion: '3.7'
- workerPath: 'python/prodV4/worker.py'
Python38V4:
pythonVersion: '3.8'
- workerPath: 'python/prodV4/worker.py'
Python39V4:
pythonVersion: '3.9'
- workerPath: 'python/prodV4/worker.py'
Python310V4:
pythonVersion: '3.10'
- workerPath: 'python/prodV4/worker.py'
Python311V4:
pythonVersion: '3.11'
- workerPath: 'python/prodV4/worker.py'
Python312V4:
pythonVersion: '3.12'
- workerPath: 'python/prodV4/worker.py'
Python313V4:
pythonVersion: '3.13'
- workerPath: 'python/proxyV4/worker.py'
templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
outputs:
@@ -116,10 +93,9 @@ jobs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: "$(pythonVersion)_LINUX_X64"
steps:
- - template: ../../../../pack/templates/nix_env_gen.yml
+ - template: ../../../pack/templates/nix_env_gen.yml
parameters:
pythonVersion: '$(pythonVersion)'
- workerPath: '$(workerPath)'
artifactName: '$(pythonVersion)_LINUX_X64'
- job: Build_OSX_X64
pool:
@@ -130,25 +106,18 @@ jobs:
matrix:
Python37V4:
pythonVersion: '3.7'
- workerPath: 'python/prodV4/worker.py'
Python38V4:
pythonVersion: '3.8'
- workerPath: 'python/prodV4/worker.py'
Python39V4:
pythonVersion: '3.9'
- workerPath: 'python/prodV4/worker.py'
Python310V4:
pythonVersion: '3.10'
- workerPath: 'python/prodV4/worker.py'
Python311V4:
pythonVersion: '3.11'
- workerPath: 'python/prodV4/worker.py'
Python312V4:
pythonVersion: '3.12'
- workerPath: 'python/prodV4/worker.py'
Python313V4:
pythonVersion: '3.13'
- workerPath: 'python/proxyV4/worker.py'
templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
outputs:
@@ -156,10 +125,9 @@ jobs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: "$(pythonVersion)_OSX_X64"
steps:
- - template: ../../../../pack/templates/nix_env_gen.yml
+ - template: ../../../pack/templates/nix_env_gen.yml
parameters:
pythonVersion: '$(pythonVersion)'
- workerPath: '$(workerPath)'
artifactName: '$(pythonVersion)_OSX_X64'
- job: Build_OSX_ARM64
pool:
@@ -170,34 +138,56 @@ jobs:
matrix:
Python39V4:
pythonVersion: '3.9'
- workerPath: 'python/prodV4/worker.py'
Python310V4:
pythonVersion: '3.10'
- workerPath: 'python/prodV4/worker.py'
Python311V4:
pythonVersion: '3.11'
- workerPath: 'python/prodV4/worker.py'
Python312V4:
pythonVersion: '3.12'
- workerPath: 'python/prodV4/worker.py'
Python313V4:
pythonVersion: '3.13'
- workerPath: 'python/proxyV4/worker.py'
templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
outputs:
- output: pipelineArtifact
targetPath: $(Build.ArtifactStagingDirectory)
- artifactName: "$(pythonVersion)_OSX_ARM4"
+ artifactName: "$(pythonVersion)_OSX_ARM64"
steps:
- - template: ../../../../pack/templates/macos_64_env_gen.yml
+ - template: ../../../pack/templates/macos_64_env_gen.yml
parameters:
pythonVersion: '$(pythonVersion)'
- workerPath: '$(workerPath)'
artifactName: '$(pythonVersion)_OSX_ARM64'
+- job: Build_LINUX_ARM64
+ pool:
+ name: Azure Pipelines
+ image: macOS-latest
+ os: macOS
+ strategy:
+ matrix:
+ Python39V4:
+ pythonVersion: '3.9'
+ Python310V4:
+ pythonVersion: '3.10'
+ Python311V4:
+ pythonVersion: '3.11'
+ Python312V4:
+ pythonVersion: '3.12'
+ Python313V4:
+ pythonVersion: '3.13'
+ templateContext:
+ outputParentDirectory: $(Build.ArtifactStagingDirectory)
+ outputs:
+ - output: pipelineArtifact
+ targetPath: $(Build.ArtifactStagingDirectory)
+ artifactName: "$(pythonVersion)_LINUX_ARM64"
+ steps:
+ - template: ../../../pack/templates/nix_env_gen.yml
+ parameters:
+ pythonVersion: '$(pythonVersion)'
+ artifactName: '$(pythonVersion)_LINUX_ARM64'
- job: PackageWorkers
- dependsOn: ['Build_WINDOWS_X64', 'Build_WINDOWS_X86', 'Build_LINUX_X64', 'Build_OSX_X64', 'Build_OSX_ARM64']
+ dependsOn: ['Build_WINDOWS_X64', 'Build_WINDOWS_X86', 'Build_LINUX_X64', 'Build_OSX_X64', 'Build_OSX_ARM64', 'Build_LINUX_ARM64']
templateContext:
outputParentDirectory: $(Build.ArtifactStagingDirectory)
outputs:
@@ -212,19 +202,19 @@ jobs:
if [[ $BUILD_SOURCEBRANCHNAME = 4\.* ]]
then
echo "Generating V4 Release Package for $BUILD_SOURCEBRANCHNAME"
- NUSPEC="pack\Microsoft.Azure.Functions.V4.PythonWorker.nuspec"
+ NUSPEC="eng\pack\Microsoft.Azure.Functions.V4.PythonWorker.nuspec"
WKVERSION="$BUILD_SOURCEBRANCHNAME"
elif [[ $BUILD_SOURCEBRANCHNAME = dev ]]
then
echo "Generating V4 Integration Test Package for $BUILD_SOURCEBRANCHNAME"
VERSION=$(cat azure_functions_worker/version.py | tail -1 | cut -d' ' -f3 | sed "s/'//g")
- NUSPEC="pack\Microsoft.Azure.Functions.V4.PythonWorker.nuspec"
+ NUSPEC="eng\pack\Microsoft.Azure.Functions.V4.PythonWorker.nuspec"
WKVERSION="$VERSION-$(Build.BuildNumber)"
else
# this is only to test nuget related workflow because we are setting nuspec here
echo "Generating Integration Test Package for $BUILD_SOURCEBRANCHNAME for testing purpose"
LATEST_TAG=$(curl https://api.github.com/repos/Azure/azure-functions-python-worker/tags -s | jq '.[0].name' | sed 's/\"//g' | cut -d'.' -f-2)
- NUSPEC="pack\Microsoft.Azure.Functions.V4.PythonWorker.nuspec"
+ NUSPEC="eng\pack\Microsoft.Azure.Functions.V4.PythonWorker.nuspec"
# Only required for Integration Test. Version number contains date (e.g. 3.1.2.20211028-dev)
WKVERSION="3.$LATEST_TAG-$(BUILD_BUILDID)-TEST"
echo "No Matching Release Tag For $BUILD_SOURCEBRANCH"
diff --git a/eng/templates/official/jobs/ci-e2e-tests.yml b/eng/templates/official/jobs/ci-e2e-tests.yml
index 1a45e06ce..f347786f5 100644
--- a/eng/templates/official/jobs/ci-e2e-tests.yml
+++ b/eng/templates/official/jobs/ci-e2e-tests.yml
@@ -133,8 +133,9 @@ jobs:
$PY_VER = "$(PYTHON_VERSION)"
Write-Host "Python version: $PY_VER"
# Extract minor version as integers
- $PY_MINO = "${PY_VER#*.}"
- Write-Host "Branch: PY_MINOR"
+ $versionParts = $PY_VER.Split('.')
+ $PY_MINOR = [int]$versionParts[1]
+ Write-Host "Minor version: $PY_MINOR"
if($branch.StartsWith("refs/heads/sdk/") -or $pipelineVarSet -eq "true" -or $PY_MINOR -ge 13 )
{
@@ -148,7 +149,6 @@ jobs:
- powershell: |
Write-Host "skipTest: $(skipTest)"
displayName: 'Display skipTest variable'
- condition: or(eq(variables.isSdkRelease, true), eq(variables['USETESTPYTHONSDK'], true))
- bash: |
python -m pytest -q -n auto --dist loadfile --reruns 4 --cov=./azure_functions_worker --cov-report xml --cov-branch --cov-append tests/endtoend tests/extension_tests/deferred_bindings_tests tests/extension_tests/http_v2_tests
env:
diff --git a/eng/templates/utils/official-variables.yml b/eng/templates/utils/official-variables.yml
index 1654d7e6c..8bb7d74a4 100644
--- a/eng/templates/utils/official-variables.yml
+++ b/eng/templates/utils/official-variables.yml
@@ -1,4 +1,8 @@
variables:
- template: /ci/variables/build.yml@eng
- template: /ci/variables/cfs.yml@eng
- - group: python-integration-resources
\ No newline at end of file
+ - group: python-integration-resources
+ - name: prodV4Path
+ value: 'python/prodV4/worker.py'
+ - name: proxyV4Path
+ value: 'python/proxyV4/worker.py'
\ No newline at end of file
diff --git a/pack/Microsoft.Azure.Functions.V4.PythonWorker.nuspec b/pack/Microsoft.Azure.Functions.V4.PythonWorker.nuspec
deleted file mode 100644
index 98b0c832a..000000000
--- a/pack/Microsoft.Azure.Functions.V4.PythonWorker.nuspec
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
- Microsoft.Azure.Functions.PythonWorker
- 1.1.0
- Microsoft
- Microsoft
- false
- Microsoft Azure Functions Python Worker
- © .NET Foundation. All rights reserved.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/extension_tests/deferred_bindings_tests/test_deferred_bindings_blob_functions.py b/tests/extension_tests/deferred_bindings_tests/test_deferred_bindings_blob_functions.py
index ed441a077..cedd910ad 100644
--- a/tests/extension_tests/deferred_bindings_tests/test_deferred_bindings_blob_functions.py
+++ b/tests/extension_tests/deferred_bindings_tests/test_deferred_bindings_blob_functions.py
@@ -171,6 +171,8 @@ def test_type_undefined(self):
self.assertEqual(r.status_code, 200)
self.assertEqual(r.text, 'test-data')
+ @unittest.skipIf(sys.version_info.minor >= 13, "For python 3.13+,"
+ "the cache is maintained in the ext and TBD.")
def test_caching(self):
'''
The cache returns the same type based on resource and function name.
@@ -204,6 +206,8 @@ def test_caching(self):
self.assertEqual(r2.text, client2)
self.assertNotEqual(r.text, r2.text)
+ @unittest.skipIf(sys.version_info.minor >= 13, "For python 3.13+,"
+ "the cache is maintained in the ext and TBD.")
def test_caching_same_resource(self):
'''
The cache returns the same type based on param name.