|
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