|
18 | 18 | logger = logging.getLogger("aws_lambda_builders.workflows.python_pip.workflow")
|
19 | 19 | IS_WINDOWS = platform.system().lower() == "windows"
|
20 | 20 | NOT_ARM = platform.processor() != "aarch64"
|
21 |
| -ARM_RUNTIMES = {"python3.8", "python3.9", "python3.10", "python3.11", "python3.12"} |
| 21 | +ARM_RUNTIMES = {"python3.8", "python3.9", "python3.10", "python3.11", "python3.12", "python3.13"} |
22 | 22 |
|
23 | 23 |
|
24 | 24 | @parameterized_class(("experimental_flags",), [([]), ([EXPERIMENTAL_FLAG_BUILD_PERFORMANCE])])
|
@@ -64,6 +64,7 @@ def setUp(self):
|
64 | 64 | "python3.10": "python3.9",
|
65 | 65 | "python3.11": "python3.10",
|
66 | 66 | "python3.12": "python3.11",
|
| 67 | + "python3.13": "python3.12", |
67 | 68 | }
|
68 | 69 |
|
69 | 70 | def tearDown(self):
|
@@ -96,9 +97,9 @@ def test_must_build_python_project(self):
|
96 | 97 | experimental_flags=self.experimental_flags,
|
97 | 98 | )
|
98 | 99 |
|
99 |
| - if self.runtime in ("python3.12"): |
100 |
| - self.check_architecture_in("numpy-1.26.1.dist-info", ["manylinux2014_x86_64", "manylinux1_x86_64"]) |
101 |
| - expected_files = self.test_data_files.union({"numpy", "numpy-1.26.1.dist-info", "numpy.libs"}) |
| 100 | + if self.runtime in ("python3.12", "python3.13"): |
| 101 | + self.check_architecture_in("numpy-2.1.2.dist-info", ["manylinux2014_x86_64", "manylinux1_x86_64"]) |
| 102 | + expected_files = self.test_data_files.union({"numpy", "numpy-2.1.2.dist-info", "numpy.libs"}) |
102 | 103 | elif self.runtime in ("python3.10", "python3.11"):
|
103 | 104 | self.check_architecture_in("numpy-1.23.5.dist-info", ["manylinux2014_x86_64", "manylinux1_x86_64"])
|
104 | 105 | expected_files = self.test_data_files.union({"numpy", "numpy-1.23.5.dist-info", "numpy.libs"})
|
@@ -126,10 +127,10 @@ def test_must_build_python_project_python3_binary(self):
|
126 | 127 | executable_search_paths=[executable_dir],
|
127 | 128 | )
|
128 | 129 |
|
129 |
| - if self.runtime in ("python3.12"): |
130 |
| - self.check_architecture_in("numpy-1.26.1.dist-info", ["manylinux2014_x86_64", "manylinux1_x86_64"]) |
131 |
| - expected_files = self.test_data_files.union({"numpy", "numpy-1.26.1.dist-info", "numpy.libs"}) |
132 |
| - elif self.runtime in ("python3.10", "python3.11", "python3.12"): |
| 130 | + if self.runtime in ("python3.12", "python3.13"): |
| 131 | + self.check_architecture_in("numpy-2.1.2.dist-info", ["manylinux2014_x86_64", "manylinux1_x86_64"]) |
| 132 | + expected_files = self.test_data_files.union({"numpy", "numpy-2.1.2.dist-info", "numpy.libs"}) |
| 133 | + elif self.runtime in ("python3.10", "python3.11"): |
133 | 134 | self.check_architecture_in("numpy-1.23.5.dist-info", ["manylinux2014_x86_64", "manylinux1_x86_64"])
|
134 | 135 | expected_files = self.test_data_files.union({"numpy", "numpy-1.23.5.dist-info", "numpy.libs"})
|
135 | 136 | else:
|
@@ -174,15 +175,15 @@ def test_must_build_python_project_with_arm_architecture(self):
|
174 | 175 | experimental_flags=self.experimental_flags,
|
175 | 176 | )
|
176 | 177 | expected_files = self.test_data_files.union({"numpy", "numpy.libs", "numpy-1.20.3.dist-info"})
|
177 |
| - if self.runtime in ("python3.12"): |
178 |
| - expected_files = self.test_data_files.union({"numpy", "numpy.libs", "numpy-1.26.1.dist-info"}) |
| 178 | + if self.runtime in ("python3.12", "python3.13"): |
| 179 | + expected_files = self.test_data_files.union({"numpy", "numpy.libs", "numpy-2.1.2.dist-info"}) |
179 | 180 | if self.runtime in ("python3.10", "python3.11"):
|
180 | 181 | expected_files = self.test_data_files.union({"numpy", "numpy.libs", "numpy-1.23.5.dist-info"})
|
181 | 182 | output_files = set(os.listdir(self.artifacts_dir))
|
182 | 183 | self.assertEqual(expected_files, output_files)
|
183 | 184 |
|
184 |
| - if self.runtime in ("python3.12"): |
185 |
| - self.check_architecture_in("numpy-1.26.1.dist-info", ["manylinux2014_aarch64"]) |
| 185 | + if self.runtime in ("python3.12", "python3.13"): |
| 186 | + self.check_architecture_in("numpy-2.1.2.dist-info", ["manylinux2014_aarch64"]) |
186 | 187 | elif self.runtime in ("python3.10", "python3.11"):
|
187 | 188 | self.check_architecture_in("numpy-1.23.5.dist-info", ["manylinux2014_aarch64"])
|
188 | 189 | else:
|
@@ -247,6 +248,8 @@ def test_must_resolve_local_dependency(self):
|
247 | 248 | self.assertIn(f, output_files)
|
248 | 249 |
|
249 | 250 | def test_must_resolve_unknown_package_name(self):
|
| 251 | + if IS_WINDOWS and self.runtime == "python3.13": |
| 252 | + self.skipTest("Skip test as pip install inflate64 does not work on Windows with Python 3.13") |
250 | 253 | self.builder.build(
|
251 | 254 | self.source_dir,
|
252 | 255 | self.artifacts_dir,
|
|
0 commit comments