Skip to content
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

Python 3.13 RC In Platform Matrix #37508

Merged
merged 12 commits into from
Oct 8, 2024
Merged
2 changes: 1 addition & 1 deletion eng/pipelines/templates/jobs/tests-nightly-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
displayName: Validate Release Candidate Python - Linux
variables:
skipComponentGovernanceDetection: true
PythonVersion: '3.13.0-rc.2'
PythonVersion: '3.13.0-rc.3'
TargetedPackages: ${{ parameters.TargetedPackages }}

timeoutInMinutes: 90
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,17 @@
"TestSamples": "false"
}
}
},
{
"Config": {
"Ubuntu2004_3130": {
"OSVmImage": "env:LINUXVMIMAGE",
"Pool": "env:LINUXPOOL",
"PythonVersion": "3.13.0-rc.3",
"CoverageArg": "--disablecov",
"TestSamples": "false"
}
}
}
]
}
31 changes: 0 additions & 31 deletions eng/pipelines/templates/stages/platform-matrix-no-312.json

This file was deleted.

41 changes: 41 additions & 0 deletions eng/pipelines/templates/stages/platform-matrix-no-313.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"displayNames": {
"--disablecov": "",
"false": "",
"true": ""
},
"matrix": {
"Agent": {
"windows-2022": { "OSVmImage": "env:WINDOWSVMIMAGE", "Pool": "env:WINDOWSPOOL" },
"ubuntu-20.04": { "OSVmImage": "env:LINUXVMIMAGE", "Pool": "env:LINUXPOOL" },
"macos-latest": { "OSVmImage": "env:MACVMIMAGE", "Pool": "env:MACPOOL" }
},
"PythonVersion": [ "3.8", "pypy3.9", "3.11", "3.10"],
"CoverageArg": "--disablecov",
"TestSamples": "false"
},
"include": [
{
"CoverageConfig": {
"ubuntu2004_39_coverage": {
"OSVmImage": "env:LINUXVMIMAGE",
"Pool": "env:LINUXPOOL",
"PythonVersion": "3.9",
"CoverageArg": "",
"TestSamples": "false"
}
}
},
{
"Config": {
"Ubuntu2004_312": {
"OSVmImage": "env:LINUXVMIMAGE",
"Pool": "env:LINUXPOOL",
"PythonVersion": "3.12",
"CoverageArg": "--disablecov",
"TestSamples": "false"
}
}
}
]
}
6 changes: 3 additions & 3 deletions eng/pipelines/templates/stages/platform-matrix.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"ubuntu-20.04": { "OSVmImage": "env:LINUXVMIMAGE", "Pool": "env:LINUXPOOL" },
"macos-latest": { "OSVmImage": "env:MACVMIMAGE", "Pool": "env:MACPOOL" }
},
"PythonVersion": [ "3.8", "pypy3.9", "3.11", "3.10" ],
"PythonVersion": [ "3.8", "pypy3.9", "3.11", "3.10", "3.12" ],
"CoverageArg": "--disablecov",
"TestSamples": "false"
},
Expand All @@ -28,10 +28,10 @@
},
{
"Config": {
"Ubuntu2004_312": {
"Ubuntu2004_313": {
"OSVmImage": "env:LINUXVMIMAGE",
"Pool": "env:LINUXPOOL",
"PythonVersion": "3.12",
"PythonVersion": "3.13.0-rc.3",
"CoverageArg": "--disablecov",
"TestSamples": "false"
}
Expand Down
1 change: 1 addition & 0 deletions eng/pipelines/templates/steps/use-python-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ steps:
displayName: "Use Python ${{ parameters.versionSpec }}"
inputs:
versionSpec: ${{ parameters.versionSpec }}
allowUnstable: true
11 changes: 10 additions & 1 deletion eng/tox/install_depend_packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,23 @@
"azure-identity": {"msal": "1.23.0"},
"azure-core-tracing-opentelemetry": {"azure-core": "1.28.0"},
"azure-storage-file-datalake": {"azure-storage-blob": "12.22.0"},
"azure-cosmos": {"azure-core": "1.30.0"}
}

MAXIMUM_VERSION_SPECIFIC_OVERRIDES = {}

# PLATFORM SPECIFIC OVERRIDES provide additional generic (EG not tied to the package whos dependencies are being processed)
# filtering on a _per platform_ basis. Primarily used to limit certain packages due to platform compatbility
PLATFORM_SPECIFIC_MINIMUM_OVERRIDES = {
">=3.12.0": {"azure-core": "1.23.1", "aiohttp": "3.8.6", "six": "1.16.0", "requests": "2.30.0"}
">=3.12.0": {
"azure-core": "1.23.1",
"aiohttp": "3.8.6",
"six": "1.16.0",
"requests": "2.30.0"
},
">=3.13.0": {
"typing-extensions": "4.12.0",
}
}

PLATFORM_SPECIFIC_MAXIMUM_OVERRIDES = {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ def create_mock_response(self, body: bytes, headers: dict, status: int, status_t
return response_promise

@pytest.mark.asyncio
@pytest.mark.skipif(sys.version_info >= (3, 13), reason="cgi is removed in Python 3.13")
async def test_successful_send(self, mock_pyfetch, mock_pyodide_module, pipeline):
"""Test that a successful send returns the correct values."""
# setup data
Expand Down Expand Up @@ -143,6 +144,7 @@ async def test_successful_send(self, mock_pyfetch, mock_pyodide_module, pipeline
assert not kwargs["files"]

@pytest.mark.asyncio
@pytest.mark.skipif(sys.version_info >= (3, 13), reason="cgi is removed in Python 3.13")
async def test_unsuccessful_send(self, mock_pyfetch, mock_pyodide_module, pipeline):
"""Test that the pipeline is failing correctly."""
mock_pyfetch.reset_mock()
Expand All @@ -154,6 +156,7 @@ async def test_unsuccessful_send(self, mock_pyfetch, mock_pyodide_module, pipeli
# 3 retries plus the original request.
assert mock_pyfetch.call_count == retry_total + 1

@pytest.mark.skipif(sys.version_info >= (3, 13), reason="cgi is removed in Python 3.13")
def test_valid_import(self, transport):
"""Test that we can import Pyodide classes from `azure.core.pipeline.transport`
Adding the transport fixture will mock the Pyodide modules in `sys.modules`.
Expand Down
2 changes: 1 addition & 1 deletion sdk/core/azure-core-experimental/tests/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
# ASYNC_TRANSPORTS.append(AsyncHttpXTransport)


from azure.core.experimental.transport import PyodideTransport
# from azure.core.experimental.transport import PyodideTransport

# ASYNC_TRANSPORTS.append(PyodideTransport)

Expand Down
2 changes: 1 addition & 1 deletion sdk/core/azure-core/LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
10 changes: 9 additions & 1 deletion sdk/cosmos/cosmos-emulator-matrix.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,16 @@
"ACCOUNT_HOST": "https://localhost:8081/",
"ACCOUNT_KEY": "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
"Skip.Analyze": "true"
},
"Emulator Tests Python 3.13": {
"PythonVersion": "3.13.0-rc.3",
"CoverageArg": "--disablecov",
"TestSamples": "false",
"ToxTestEnv": "'whl,sdist'",
"ACCOUNT_HOST": "https://localhost:8081/",
"ACCOUNT_KEY": "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
"Skip.Analyze": "true"
}
}
}
}

9 changes: 7 additions & 2 deletions sdk/ml/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ trigger:
include:
- sdk/ml/
- scripts/
- sdk/core/
- sdk/core/

pr:
branches:
Expand All @@ -24,7 +24,7 @@ pr:
paths:
include:
- sdk/ml/
- sdk/core/
- sdk/core/

extends:
template: /eng/pipelines/templates/stages/archetype-sdk-client.yml
Expand All @@ -33,6 +33,11 @@ extends:
ValidateFormatting: true
TestTimeoutInMinutes: 75
TestProxy: true
MatrixConfigs:
- Name: ml_ci_matrix
Path: eng/pipelines/templates/stages/platform-matrix-no-313.json
Selection: sparse
GenerateVMJobs: true
# This is a short term solution to create API review for python azure-ml package only when running pipeline manually
# Long term solution should be to have different versions on main branch and release branch for python package so APIView can have different revisions for each version.
# Tracking issue: https://github.com/Azure/azure-sdk-for-python/issues/29196
Expand Down
Loading