RFC Only update Emscripten and Python version at the same time
See original GitHub issueProposal
Starting with Pyodide v0.22.0 we should only update Emscripten at the same time as we update Python.
Motivation
Until https://github.com/emscripten-core/emscripten/issues/15917 is resolved, every Emscripten update is assumed to be an ABI break. If we are going to move towards allowing people to build and deploy their own wheels, it would be annoying for them to have to rebuild every time
Alternatives
Projects have build a new wheel whenever we update Emscripten. They can check the appropriate Emscripten version via repodata.json:info.platform
. The correct Python version is also exposed via repodata.json:info.python
. We should make a github action to build against a given Pyodide version that uses repodata.json
to determine the appropriate version. If the projects use a continuous deployment system, then they can easily specify a range of Pyodide versions to build and deploy wheels for.
Issue Analytics
- State:
- Created a year ago
- Comments:9 (7 by maintainers)
@ryanking13 thanks for the ping. We will have a “empty” package that specifies the ABI version of the emscripten compiler that was used to compile the package (the
emscripten_abi 3.1.18
package). Since only oneemscripten_abi
package can be installed at the same time, this will force all packages in a given environment to have used the same compiler.We will be able to do this within the same Python version and across Python versions as the SAT solver will find the best solutions (those that maximize version numbers).
Technically this is implemented as a “run_exports” from the emscripten compiler package. That means, that the empty
emscripten_abi
package is always automatically added to the run-dependencies of the package.I know but it still feels weird to call them minor releases )