-
Notifications
You must be signed in to change notification settings - Fork 8
Added idf-component-manager to exclude_list #63
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
base: main
Are you sure you want to change the base?
Changes from all commits
e205c1c
5a16b67
7164a48
d7611dd
9b91cdf
c08dd38
1fda564
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -22,6 +22,10 @@ | |||||
| platform: 'darwin' | ||||||
| python: '>3.11' | ||||||
|
|
||||||
| # dbus-python 1.2.x sdist (e.g. 1.2.18) fails configure link step against CPython on macOS CI (Python 3.11) | ||||||
| - package_name: 'dbus-python' | ||||||
| platform: 'darwin' | ||||||
| python: '==3.11' | ||||||
|
|
||||||
| - package_name: 'pygobject' | ||||||
| python: '==3.8' | ||||||
|
|
@@ -113,6 +117,11 @@ | |||||
| version: '<2.35.0' | ||||||
| python: '>=3.14' | ||||||
|
|
||||||
| # pydantic_core on CPython 3.14 + Windows/macOS: maturin sdist fails (PyO3 limited API / abi3). Linux 3.14 OK. | ||||||
| - package_name: 'pydantic_core' | ||||||
| platform: ['win32', 'darwin'] | ||||||
| python: '==3.14' | ||||||
|
|
||||||
| # rpds_py supports Python 3.14 from version >= 0.26.0 (pyo3 compatibility) | ||||||
| # https://pypi.org/project/rpds-py/#history | ||||||
| - package_name: 'rpds_py' | ||||||
|
|
@@ -140,3 +149,9 @@ | |||||
| # https://pypi.org/project/mcp/ | ||||||
| - package_name: 'mcp' | ||||||
| python: ['==3.8', '==3.9'] | ||||||
|
|
||||||
| # idf-component-manager v3.0.0is not supported by Python <= 3.10 | ||||||
|
||||||
| # idf-component-manager v3.0.0is not supported by Python <= 3.10 | |
| # idf-component-manager v3.0.0 is not supported by Python <= 3.10 |
Copilot
AI
Mar 30, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The exclude rule for idf-component-manager says it is unsupported on Python <= 3.10, but the marker python: ['<3.10'] will not match Python 3.10. Use a specifier that covers 3.10 as well (e.g. <3.11 or <=3.10, depending on intent).
| python: ['<3.10'] | |
| python: ['<=3.10'] |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -122,6 +122,22 @@ def test_exclude_version(self): | |||||||||||||||||||||||||||||||||||||
| result = self.adapter._yaml_to_requirement(yaml_list, exclude=True) | ||||||||||||||||||||||||||||||||||||||
| self.assertEqual(result, {Requirement("numpy>=1.20")}) | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| def test_exclude_platform_and_python_intersection_single_os(self): | ||||||||||||||||||||||||||||||||||||||
| """exclude + platform + python (no package version) = drop only on that OS ∩ Python.""" | ||||||||||||||||||||||||||||||||||||||
| yaml_list = [{"package_name": "pydantic_core", "platform": "win32", "python": "==3.14"}] | ||||||||||||||||||||||||||||||||||||||
| result = self.adapter._yaml_to_requirement(yaml_list, exclude=True) | ||||||||||||||||||||||||||||||||||||||
| expected = Requirement('pydantic_core; (sys_platform != "win32" or (python_version != "3.14"))') | ||||||||||||||||||||||||||||||||||||||
| self.assertEqual(result, {expected}) | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| def test_exclude_platform_and_python_intersection_two_os(self): | ||||||||||||||||||||||||||||||||||||||
| yaml_list = [{"package_name": "pydantic_core", "platform": ["win32", "darwin"], "python": "==3.14"}] | ||||||||||||||||||||||||||||||||||||||
| result = self.adapter._yaml_to_requirement(yaml_list, exclude=True) | ||||||||||||||||||||||||||||||||||||||
| expected = Requirement( | ||||||||||||||||||||||||||||||||||||||
| 'pydantic_core; (sys_platform != "win32" or (python_version != "3.14")) and ' | ||||||||||||||||||||||||||||||||||||||
| '(sys_platform != "darwin" or (python_version != "3.14"))' | ||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+129
to
+137
|
||||||||||||||||||||||||||||||||||||||
| expected = Requirement('pydantic_core; (sys_platform != "win32" or (python_version != "3.14"))') | |
| self.assertEqual(result, {expected}) | |
| def test_exclude_platform_and_python_intersection_two_os(self): | |
| yaml_list = [{"package_name": "pydantic_core", "platform": ["win32", "darwin"], "python": "==3.14"}] | |
| result = self.adapter._yaml_to_requirement(yaml_list, exclude=True) | |
| expected = Requirement( | |
| 'pydantic_core; (sys_platform != "win32" or (python_version != "3.14")) and ' | |
| '(sys_platform != "darwin" or (python_version != "3.14"))' | |
| expected = Requirement("pydantic_core; (sys_platform != 'win32' or (python_version != '3.14'))") | |
| self.assertEqual(result, {expected}) | |
| def test_exclude_platform_and_python_intersection_two_os(self): | |
| yaml_list = [{"package_name": "pydantic_core", "platform": ["win32", "darwin"], "python": "==3.14"}] | |
| result = self.adapter._yaml_to_requirement(yaml_list, exclude=True) | |
| expected = Requirement( | |
| "pydantic_core; (sys_platform != 'win32' or (python_version != '3.14')) and " | |
| "(sys_platform != 'darwin' or (python_version != '3.14'))" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_download_branch_requirements()downloads esptool'spyproject.tomlon every branch iteration, which repeats the same network request N times (and can increase latency / hit GitHub rate limits). Consider fetching and parsing esptool dependencies once (outside the per-branch loop) and merging them into the overall requirements set once.