Skip to content

Commit a99f5ae

Browse files
authored
Remove PyPy from CI/build matrices (#47286)
* First cut: Remove pypy from engsys, there are still references in dev_requirements.txt that could be cleaned up but those intersect with local development scenarios as well * Consolidate ML matrix (it's the same as the default matrix now)
1 parent 76c342e commit a99f5ae

17 files changed

Lines changed: 2 additions & 197 deletions

File tree

eng/pipelines/templates/stages/platform-matrix.json

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,6 @@
2525
}
2626
}
2727
},
28-
{
29-
"PyPyConfig": {
30-
"ubuntu2404_pypy311": {
31-
"OSVmImage": "env:LINUXVMIMAGE",
32-
"Pool": "env:LINUXPOOL",
33-
"PythonVersion": "pypy3.11",
34-
"CoverageArg": "--disablecov",
35-
"TestSamples": "false"
36-
}
37-
}
38-
},
3928
{
4029
"CoverageConfig": {
4130
"ubuntu2404_310_coverage": {

eng/pipelines/templates/steps/use-python-version.yml

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -12,60 +12,6 @@ steps:
1212
}
1313
displayName: 'Use Public Feed'
1414
15-
# Optional override for the hosted toolcache PyPy build. Activated when the
16-
# matrix entry sets:
17-
# OverridePyPyVersion: "true"
18-
# PyPyBuildVersion: "v7.3.22" (or any release from downloads.python.org/pypy)
19-
# PyPyLangVersion: "3.11.15" (the Python language version directory in the toolcache)
20-
# Rationale: PyPy 7.3.21 (currently in the hosted toolcache for Python 3.11.15)
21-
# crashes with `Fatal RPython error: AssertionError` from
22-
# `PythonCodeMaker_duplicate_exits_without_lineno` while compiling
23-
# `azure.ai.ml`. PyPy 7.3.22+ does not exhibit this bug.
24-
- bash: |
25-
set -euo pipefail
26-
PYPY_BUILD="${PYPY_BUILD_VERSION:?PyPyBuildVersion must be set in the matrix when OverridePyPyVersion=true}"
27-
PY_LANG="${PYPY_LANG_VERSION:?PyPyLangVersion must be set in the matrix when OverridePyPyVersion=true}"
28-
TARGET="/opt/hostedtoolcache/PyPy/${PY_LANG}/x64"
29-
WANT_MICRO="${PYPY_BUILD#v}"
30-
if [ -x "${TARGET}/bin/python3" ]; then
31-
CURRENT=$("${TARGET}/bin/python3" -c 'import sys; v=sys.pypy_version_info; print(f"{v.major}.{v.minor}.{v.micro}")') || CURRENT="unknown"
32-
echo "Existing toolcache PyPy: ${CURRENT}"
33-
if [ "$CURRENT" = "$WANT_MICRO" ]; then
34-
echo "PyPy ${WANT_MICRO} already installed; nothing to do."
35-
exit 0
36-
fi
37-
fi
38-
echo "Installing PyPy ${PYPY_BUILD} for Python ${PY_LANG} into ${TARGET}..."
39-
TARBALL="pypy3.11-${PYPY_BUILD}-linux64.tar.bz2"
40-
cd /tmp
41-
curl -sSLO "https://downloads.python.org/pypy/${TARBALL}"
42-
tar xjf "${TARBALL}"
43-
sudo rm -rf "${TARGET}"
44-
sudo mkdir -p "$(dirname "${TARGET}")"
45-
sudo mv "pypy3.11-${PYPY_BUILD}-linux64" "${TARGET}"
46-
# Recreate the python3/python symlinks that the upstream toolcache layout provides.
47-
if [ ! -e "${TARGET}/bin/python3" ]; then
48-
sudo ln -sf "${TARGET}/bin/pypy3.11" "${TARGET}/bin/python3"
49-
fi
50-
if [ ! -e "${TARGET}/bin/python" ]; then
51-
sudo ln -sf "${TARGET}/bin/pypy3.11" "${TARGET}/bin/python"
52-
fi
53-
sudo touch "${TARGET}.complete"
54-
"${TARGET}/bin/python3" --version
55-
# The plain pypy tarball does not include pip; the Azure hosted
56-
# toolcache build does. Bootstrap pip via ensurepip so downstream
57-
# steps (e.g. `python -m pip install uv`) keep working.
58-
if ! "${TARGET}/bin/python3" -c "import pip" >/dev/null 2>&1; then
59-
echo "Bootstrapping pip via ensurepip..."
60-
sudo "${TARGET}/bin/python3" -m ensurepip --upgrade
61-
fi
62-
"${TARGET}/bin/python3" -m pip --version
63-
env:
64-
PYPY_BUILD_VERSION: $(PyPyBuildVersion)
65-
PYPY_LANG_VERSION: $(PyPyLangVersion)
66-
displayName: 'Override hosted toolcache PyPy build'
67-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'), eq(variables['OverridePyPyVersion'], 'true'))
68-
6915
- task: UsePythonVersion@0
7016
displayName: "Use Python ${{ parameters.versionSpec }}"
7117
inputs:

eng/tools/azure-sdk-tools/ci_tools/functions.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,18 +68,7 @@
6868
PATHS_EXCLUDED_FROM_DISCOVERY = []
6969

7070
TEST_COMPATIBILITY_MAP = {"azure-ai-ml": ">=3.7"}
71-
TEST_PYTHON_DISTRO_INCOMPATIBILITY_MAP = {
72-
"azure-storage-blob": "pypy",
73-
"azure-storage-queue": "pypy",
74-
"azure-storage-file-datalake": "pypy",
75-
"azure-storage-file-share": "pypy",
76-
"azure-eventhub": "pypy",
77-
"azure-servicebus": "pypy",
78-
"azure-ai-projects": "pypy",
79-
"azure-ai-agents": "pypy",
80-
"azure-identity-broker": "pypy",
81-
"azure-storage-extensions": "pypy",
82-
}
71+
TEST_PYTHON_DISTRO_INCOMPATIBILITY_MAP = {}
8372

8473
omit_regression = (
8574
lambda x: "nspkg" not in x

sdk/agentserver/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ extends:
3232
TestProxy: true
3333
BuildDocs: true
3434
TestTimeoutInMinutes: 60
35-
# The job "Test ubuntu2404_pypy311" in the "python - agentserver" pipeline hangs and eventually times out.
36-
# Disable it until the issue is understood.
3735
MatrixConfigs:
3836
- Name: agentserver
3937
Path: sdk/agentserver/platform-matrix.json

sdk/agentserver/tests.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ extends:
1212
ServiceDirectory: agentserver
1313
TestMarkArgument: tracing_e2e
1414
TestTimeoutInMinutes: 60
15-
MatrixFilters:
16-
- PythonVersion=^(?!pypy3).*
1715
EnvVars:
1816
AZURE_SKIP_LIVE_RECORDING: 'true'
1917
AZURE_TEST_RUN_LIVE: 'true'
20-

sdk/ai/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ extends:
3232
TestProxy: true
3333
BuildDocs: true
3434
TestTimeoutInMinutes: 60
35-
# The job "Test ubuntu2404_pypy39" in the "python - ai" pipeline hangs and eventually times out.
36-
# Disable it until the issue is understood.
3735
Artifacts:
3836
- name: azure-ai-projects
3937
safeName: azureaiprojects

sdk/communication/azure-communication-phonenumbers/phonenumbers-livetest-matrix.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"COMMUNICATION_SKIP_CAPABILITIES_LIVE_TEST": "false"
2525
}
2626
},
27-
"PythonVersion": ["pypy3.11", "3.11", "3.12"],
27+
"PythonVersion": ["3.11", "3.12"],
2828
"CoverageArg": "--disablecov",
2929
"TestSamples": "false"
3030
},

sdk/cosmos/live-platform-matrix.json

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -88,18 +88,6 @@
8888
}
8989
}
9090
},
91-
{
92-
"PyPyConfig": {
93-
"ubuntu2404_pypy311_query": {
94-
"OSVmImage": "env:LINUXVMIMAGE",
95-
"Pool": "env:LINUXPOOL",
96-
"PythonVersion": "pypy3.11",
97-
"CoverageArg": "--disablecov",
98-
"TestSamples": "false",
99-
"TestMarkArgument": "cosmosQuery"
100-
}
101-
}
102-
},
10391
{
10492
"CoverageConfig": {
10593
"ubuntu2404_310_coverage_query": {

sdk/eventhub/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ extends:
2929
template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml
3030
parameters:
3131
ServiceDirectory: eventhub
32-
MatrixFilters:
33-
- PythonVersion=^(?!pypy3).*
3432
Artifacts:
3533
- name: azure-eventhub
3634
safeName: azureeventhub

sdk/eventhub/tests.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ extends:
66
ServiceDirectory: eventhub
77
TestTimeoutInMinutes: 240
88
BuildTargetingString: azure-eventhub*
9-
MatrixFilters:
10-
- PythonVersion=^(?!pypy3).*
119
EnvVars:
1210
AZURE_TEST_RUN_LIVE: 'true'
1311
AZURE_SUBSCRIPTION_ID: $(EVENTHUB_SUBSCRIPTION_ID)

0 commit comments

Comments
 (0)