fix: don't error when a global build-frontend is set on pyodide (#2945)

Since #2609, the pyodide platform required the 'pyodide-build' frontend,
but a global build-frontend setting (TOML or CIBW_BUILD_FRONTEND)
overrides the platform default, so previously-working configs like
build-frontend = "build" failed with a ConfigurationError. Even
"default" failed, since it was mapped to "build" before the check.

Resolve "default" to the platform default, and warn and use
pyodide-build when another frontend is set on pyodide, matching
pre-#2609 behavior where the frontend name only affected verbosity
flags.

Assisted-by: ClaudeCode:claude-opus-4.8
This commit is contained in:
Henry Schreiner
2026-07-23 11:40:11 -04:00
committed by GitHub
parent 1520daf8ae
commit b7cac6dfef
4 changed files with 40 additions and 12 deletions
+3 -3
View File
@@ -483,9 +483,9 @@ files (from workspaces) are not supported.
On Android, the "pip" frontend is not supported.
On Pyodide, `build-frontend` must be `pyodide-build`, which is the default for that
platform. See [Pyodide build frontend support](platforms.md#pyodide-build-frontend) for
details.
On Pyodide, `pyodide-build` is the default and only supported frontend; setting
another frontend produces a warning and uses `pyodide-build` instead. See
[Pyodide build frontend support](platforms.md#pyodide-build-frontend) for details.
You can specify extra arguments to pass to the build frontend using the
optional `args` option.