mirror of
https://github.com/Z3Prover/z3
synced 2026-08-03 04:33:28 +00:00
5 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
99a2be2a77
|
Bump pypa/cibuildwheel from 4.1.0 to 4.1.1 (#10312)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 4.1.0 to 4.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's releases</a>.</em></p> <blockquote> <h2>v4.1.1</h2> <ul> <li>✨ Adds <code>pyodide-build</code> as a separate <a href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>, now the default frontend for Pyodide, with verbosity flags handling. Any other frontend is ignored with a warning on Pyodide. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2609">#2609</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2945">#2945</a>)</li> <li>🔐 Uses digests instead of tags for pinned container images, strengthening supply-chain security. The human-readable tags remain as comments in <code>pinned_docker_images.cfg</code>. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2915">#2915</a>)</li> <li>🐛 Fixes platform-specific <a href="https://cibuildwheel.pypa.io/en/stable/options/#test-runtime"><code>test-runtime</code></a> environment variables (e.g. <code>CIBW_TEST_RUNTIME_ANDROID</code>) not being honored (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2941">#2941</a>)</li> <li>🐛 Fixes quoting of <a href="https://cibuildwheel.pypa.io/en/stable/options/#test-requires"><code>test-requires</code></a> and <a href="https://cibuildwheel.pypa.io/en/stable/options/#audit-requires"><code>audit-requires</code></a> so PEP 508 specifiers containing spaces work (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2913">#2913</a>)</li> <li>🐛 Makes <a href="https://cibuildwheel.pypa.io/en/stable/options/#archs"><code>archs</code></a> parsing case-insensitive and platform-aware, so e.g. <code>arm64</code> works on Windows (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2920">#2920</a>)</li> <li>🐛 Uses an absolute path for the <code>{project}</code> placeholder in <a href="https://cibuildwheel.pypa.io/en/stable/options/#config-settings"><code>config-settings</code></a> (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2934">#2934</a>)</li> <li>🐛 Validates the <a href="https://cibuildwheel.pypa.io/en/stable/options/#pyodide-version"><code>pyodide-version</code></a> option against the build identifier with a clear error (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2925">#2925</a>)</li> <li>🐛 Fixes PyPy installs on macOS after PyPy switched its downloads from <code>.tar.bz2</code> to <code>.tar.gz</code> (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li> <li>🐛 Makes a matching <code>python3-config</code> available in the build and test venvs on macOS (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2922">#2922</a>)</li> <li>🛠 Updates dependencies and container pins (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2917">#2917</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2935">#2935</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li> <li>🛠 Updates Android tests to current Python versions and the new test repository URL (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2933">#2933</a>)</li> <li>🛠 Drops the <code>orjson</code> dependency, no longer used by mypy 2+ (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2923">#2923</a>)</li> <li>📚 Builds the docs with properdocs, a MkDocs fork (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2946">#2946</a>)</li> <li>📚 Adds the missing <code>cp314-pyodide_wasm32</code> entry to the build identifier table (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2947">#2947</a>)</li> <li>📚 Removes outdated notes about the <code>pip wheel</code> build frontend and ClearLinux (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2926">#2926</a>)</li> <li>💼 Adds a "CI: PyPy EoL" PR label to run PyPy EoL tests on PRs (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2930">#2930</a>)</li> <li>💼 Updates CI action pins and pre-commit hooks (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2914">#2914</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2932">#2932</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2938">#2938</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2940">#2940</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2942">#2942</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2943">#2943</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's changelog</a>.</em></p> <blockquote> <h3>v4.1.1</h3> <p><em>24 July 2026</em></p> <ul> <li>✨ Adds <code>pyodide-build</code> as a separate <a href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>, now the default frontend for Pyodide, with verbosity flags handling. Any other frontend is ignored with a warning on Pyodide. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2609">#2609</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2945">#2945</a>)</li> <li>🔐 Uses digests instead of tags for pinned container images, strengthening supply-chain security. The human-readable tags remain as comments in <code>pinned_docker_images.cfg</code>. (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2915">#2915</a>)</li> <li>🐛 Fixes platform-specific <a href="https://cibuildwheel.pypa.io/en/stable/options/#test-runtime"><code>test-runtime</code></a> environment variables (e.g. <code>CIBW_TEST_RUNTIME_ANDROID</code>) not being honored (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2941">#2941</a>)</li> <li>🐛 Fixes quoting of <a href="https://cibuildwheel.pypa.io/en/stable/options/#test-requires"><code>test-requires</code></a> and <a href="https://cibuildwheel.pypa.io/en/stable/options/#audit-requires"><code>audit-requires</code></a> so PEP 508 specifiers containing spaces work (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2913">#2913</a>)</li> <li>🐛 Makes <a href="https://cibuildwheel.pypa.io/en/stable/options/#archs"><code>archs</code></a> parsing case-insensitive and platform-aware, so e.g. <code>arm64</code> works on Windows (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2920">#2920</a>)</li> <li>🐛 Uses an absolute path for the <code>{project}</code> placeholder in <a href="https://cibuildwheel.pypa.io/en/stable/options/#config-settings"><code>config-settings</code></a> (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2934">#2934</a>)</li> <li>🐛 Validates the <a href="https://cibuildwheel.pypa.io/en/stable/options/#pyodide-version"><code>pyodide-version</code></a> option against the build identifier with a clear error (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2925">#2925</a>)</li> <li>🐛 Fixes PyPy installs on macOS after PyPy switched its downloads from <code>.tar.bz2</code> to <code>.tar.gz</code> (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li> <li>🐛 Makes a matching <code>python3-config</code> available in the build and test venvs on macOS (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2922">#2922</a>)</li> <li>🛠 Updates dependencies and container pins (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2917">#2917</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2935">#2935</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li> <li>🛠 Updates Android tests to current Python versions and the new test repository URL (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2933">#2933</a>)</li> <li>🛠 Drops the <code>orjson</code> dependency, no longer used by mypy 2+ (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2923">#2923</a>)</li> <li>📚 Builds the docs with properdocs, a MkDocs fork (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2946">#2946</a>)</li> <li>📚 Adds the missing <code>cp314-pyodide_wasm32</code> entry to the build identifier table (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2947">#2947</a>)</li> <li>📚 Removes outdated notes about the <code>pip wheel</code> build frontend and ClearLinux (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2926">#2926</a>)</li> <li>💼 Adds a "CI: PyPy EoL" PR label to run PyPy EoL tests on PRs (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2930">#2930</a>)</li> <li>💼 Updates CI action pins and pre-commit hooks (<a href="https://redirect.github.com/pypa/cibuildwheel/issues/2914">#2914</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2932">#2932</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2938">#2938</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2940">#2940</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2942">#2942</a>, <a href="https://redirect.github.com/pypa/cibuildwheel/issues/2943">#2943</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
7055366050
|
Bump actions/checkout from 7.0.0 to 7.0.1 (#10208)
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v7.0.1</h2> <h2>What's Changed</h2> <ul> <li>skip running unsafe pr check if input is default by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li> <li>trim only ascii whitespace for branch by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li> <li>escape values passed to --unset by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li> <li>Various dependency updates</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v7...v7.0.1">https://github.com/actions/checkout/compare/v7...v7.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/actions/checkout/compare/v7...v7.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
baa66c3a8a
|
Bump actions/checkout from 6.0.2 to 7.0.0 (#9913)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <ul> <li>block checking out fork pr for pull_request_target and workflow_run by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> <li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li> <li>Bump flatted from 3.3.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li> <li>Bump js-yaml from 4.1.0 to 4.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li> <li>Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li> <li>upgrade module to esm and update dependencies by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li> <li>Bump the minor-npm-dependencies group across 1 directory with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li> <li>getting ready for checkout v7 release by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2464">actions/checkout#2464</a></li> <li>update error wording by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2467">actions/checkout#2467</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.3...v7.0.0">https://github.com/actions/checkout/compare/v6.0.3...v7.0.0</a></p> <h2>v6.0.3</h2> <h2>What's Changed</h2> <ul> <li>Update changelog by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2357">actions/checkout#2357</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>Update changelog for v6.0.3 by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2446">actions/checkout#2446</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/yaananth"><code>@yaananth</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.3">https://github.com/actions/checkout/compare/v6...v6.0.3</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
8409c27a11
|
Bump actions/checkout from 6 to 7 (#9901)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v7.0.0</h2> <h2>What's Changed</h2> <ul> <li>block checking out fork pr for pull_request_target and workflow_run by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> <li>Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2458">actions/checkout#2458</a></li> <li>Bump flatted from 3.3.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2460">actions/checkout#2460</a></li> <li>Bump js-yaml from 4.1.0 to 4.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2461">actions/checkout#2461</a></li> <li>Bump <code>@actions/core</code> and <code>@actions/tool-cache</code> and Remove uuid by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2459">actions/checkout#2459</a></li> <li>upgrade module to esm and update dependencies by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2463">actions/checkout#2463</a></li> <li>Bump the minor-npm-dependencies group across 1 directory with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/checkout/pull/2462">actions/checkout#2462</a></li> <li>getting ready for checkout v7 release by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2464">actions/checkout#2464</a></li> <li>update error wording by <a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2467">actions/checkout#2467</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/aiqiaoy"><code>@aiqiaoy</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2454">actions/checkout#2454</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.3...v7.0.0">https://github.com/actions/checkout/compare/v6.0.3...v7.0.0</a></p> <h2>v6.0.3</h2> <h2>What's Changed</h2> <ul> <li>Update changelog by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2357">actions/checkout#2357</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>Update changelog for v6.0.3 by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2446">actions/checkout#2446</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/yaananth"><code>@yaananth</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.3">https://github.com/actions/checkout/compare/v6...v6.0.3</a></p> <h2>v6.0.2</h2> <h2>What's Changed</h2> <ul> <li>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2355">actions/checkout#2355</a></li> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.1...v6.0.2">https://github.com/actions/checkout/compare/v6.0.1...v6.0.2</a></p> <h2>v6.0.1</h2> <h2>What's Changed</h2> <ul> <li>Update all references from v5 and v4 to v6 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2314">actions/checkout#2314</a></li> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> <li>Clarify v6 README by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2328">actions/checkout#2328</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.1">https://github.com/actions/checkout/compare/v6...v6.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
3bf4d2b53d
|
python: build a PyPI-publishable Pyodide (PEP 783) wheel (#9891)
## Summary z3 already builds under Pyodide (there is a `pyodide.yml` workflow and an `IS_PYODIDE` path in `setup.py`), but that path uses `pyodide build` and produces a wheel tagged `emscripten_<pyodide-version>_wasm32`, which is pinned to a single Pyodide release and rejected by PyPI — so today it's only usable as a CI artifact. [PEP 783](https://peps.python.org/pep-0783/) introduced the portable `pyemscripten_<date>_wasm32` platform tag that **PyPI accepts** and `micropip` can install at runtime. This makes `z3-solver` build that wheel via `cibuildwheel --platform pyodide`. ## Changes - **`setup.py`** — for the emscripten target, use the wheel platform tag that pyodide-build provides verbatim via `_PYTHON_HOST_PLATFORM` (e.g. `pyemscripten_2026_0_wasm32`) instead of reconstructing an `emscripten_*` tag. Falls back to the previous behaviour when that env var is absent. - **`setup.py` / `CMakeLists.txt` / `pyproject.toml`** — switch the Pyodide build from JS-based exceptions (`-fexceptions`, `-sDISABLE_EXCEPTION_CATCHING=0`) to **native wasm exception handling** (`-fwasm-exceptions -sSUPPORT_LONGJMP=wasm`), matching the ABI of the Pyodide 314 / emscripten 5 main module. With the old flags `libz3.so` imports `invoke_*` trampolines the runtime no longer provides, so the wheel builds but the first `Z3_mk_config` call fails at runtime with `Dynamic linking error: cannot resolve symbol invoke_vi`. - **`pyproject.toml`** — add `[tool.cibuildwheel]` / `[tool.pyodide.build]` so `cibuildwheel --platform pyodide` builds and tests the wheel (`cp314`). - **`.github/workflows/pyodide-pypi.yml`** (new) — build with cibuildwheel and publish to PyPI (trusted publishing) on tags. Existing `pyodide.yml` unchanged. ## Verification Built with `cibuildwheel 4.1.0` / `pyodide-build 0.35.0` / `emscripten 5.0.3`, CPython 3.14 / Pyodide 314: - Produces `z3_solver-4.17.0.0-py3-none-pyemscripten_2026_0_wasm32.whl`. - `z3test.py` passes in the Pyodide runtime (node + wasm32). - Installed via `micropip` and solves SMT problems both under node and in a browser (`sat` with a model, `unsat` for a contradiction). 🤖 Generated with [Claude Code](https://claude.com/claude-code) 🕵️♂️ Reviewed by [Alcides Fonseca](https://wiki.alcidesfonseca.com) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> |