Skip to content

Conversation

cibuildwheel-bot[bot]
Copy link
Contributor

@cibuildwheel-bot cibuildwheel-bot bot commented Aug 4, 2025

Update the versions of our dependencies.

PR generated by "Update dependencies" workflow.

@cibuildwheel-bot cibuildwheel-bot bot added CI: GraalPy Run the integration test suite with GraalPy included CI: PyPy Run the integration test suite with PyPy included dependencies Pull requests that update a dependency file labels Aug 4, 2025
@henryiii
Copy link
Contributor

henryiii commented Aug 4, 2025

Pyodide change?


pyodide xbuildenv search --json --all
                                                             ✕ 16.99s
----------------------------- Captured stderr call -----------------------------
Usage: pyodide xbuildenv [OPTIONS] COMMAND [ARGS]...
Try 'pyodide xbuildenv --help' for help.
╭─ Error ──────────────────────────────────────────────────────────────────────╮
│ No such command 'search'.                                                    │
╰──────────────────────────────────────────────────────────────────────────────╯
Error: cibuildwheel: Command ['/tmp/cibw-run-g2hqjk7m/cp312-pyodide_wasm32/build/venv/bin/pyodide', 'xbuildenv', 'search', '--json', '--all'] failed with code 2. 

@joerick
Copy link
Contributor

joerick commented Aug 10, 2025

So the package resolver, when the constraints are missing, resolves to pyodide-build==0.25.0 for some reason. But I can't figure the reason it's going so far back, rather than just using the latest?

@cibuildwheel-bot cibuildwheel-bot bot force-pushed the update-dependencies-pr branch from c9ee7f2 to 10ee14b Compare August 11, 2025 06:05
@joerick
Copy link
Contributor

joerick commented Aug 11, 2025

Ah, this is the issue. Pyodide-build pins the version of auditwheel-enscripten, but we specify it here in the --upgrade command. I don't actually see why we'd depend on auditwheel-enscripten at all, so I'll try removing it.

@joerick
Copy link
Contributor

joerick commented Aug 11, 2025

Also, TIL that the ordering of packages in pip install --upgrade decides the priorities that the resolver uses. By listing auditwheel-emscripten first, the resolver was prioritising that upgrade over others - hence the backtracking on pyodide-build, which was listed last.

@joerick
Copy link
Contributor

joerick commented Aug 11, 2025

Looks like it's working. I'll pull it out to its own PR because it's really a bug fix.

@joerick joerick force-pushed the update-dependencies-pr branch from ddc285c to 10ee14b Compare August 11, 2025 13:05
@joerick
Copy link
Contributor

joerick commented Aug 11, 2025

See #2548 for the fix.

@henryiii
Copy link
Contributor

The more tightly dependencies are constrained, the more problems occur, always. :)

@cibuildwheel-bot cibuildwheel-bot bot force-pushed the update-dependencies-pr branch from 10ee14b to c2c8b6a Compare August 11, 2025 14:51
@xavier2k6
Copy link

@henryiii
Copy link
Contributor

That's coming out of the resolve, so it's likely more strict limit issues from pyodide. Yes, looks like the last release of pyodide-build strictly pins it to a7: https://inspector.pypi.io/project/pyodide-build/0.30.5/packages/76/a1/79ea06a74a6d0819352a39e21751a179cf16e65cce2f79f7f017e0c9cc1c/pyodide_build-0.30.5.tar.gz/pyodide_build-0.30.5/pyproject.toml

@henryiii
Copy link
Contributor

Those are really tightly constrained, I'd highly recommend loosening them up. For example, allowing patch releases of pyodide-lock and auditwheel-enscripten would allow shipping fixes for those projects without having to update and re-release pyodide-build every time.

@ryanking13
Copy link
Member

Thanks. Let me try relaxing the constraints. I think our lockfile schema is quite stable now.

@joerick joerick merged commit 5a1712d into main Aug 12, 2025
28 checks passed
@joerick joerick deleted the update-dependencies-pr branch August 12, 2025 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: GraalPy Run the integration test suite with GraalPy included CI: PyPy Run the integration test suite with PyPy included dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants