Four issues blocked the initial publish:
- mypyc/build.py write_file unconditional on cached groups: the
cda83168e cherry-pick dropped the `if ctext` guard around write_file,
so an empty ctext (mypy returns this for cached groups under
separate=True) overwrote the previously-emitted .c with an empty stub.
The next compile then linked against a stub `.so` that re-declared
cross-group export_table_<group> structs without a definition, and
9 separate=True tests failed with "incomplete type" errors. Restore
the guard so cached groups keep their on-disk .c intact.
- mypyc/build.py angled-vs-quoted include kind: the cd0c07975 cherry-pick
(784ec632c) updated type annotations to list[tuple[bool, str]] but the
matching _INCLUDE_RE rewrite, _extract_includes helper, and
resolve_cfile_deps worklist unpacking were dropped during conflict
resolution. Restore them and update mypyc/test/test_misc.py to the
new return shape so build.py typechecks cleanly under self-compile.
- cibuildwheel.toml PyPy in default matrix: cibuildwheel 2.22 enables
PyPy in its default matrix. PyPy lacks prebuilt ast-serialize wheels
and the build env can't bootstrap Rust for maturin, so every pp* job
died. Skip pp*, *-win*, *-musllinux_aarch64, *-manylinux_i686, and
free-threaded builds, matching the release-1.20 skip list.
- .github/workflows/test.yml triggering twice on tag push: dropped the
`tags: ['*']` push trigger so the Tests workflow only runs on branch
pushes/PRs. A combined branch+tag push previously kicked off two Tests
runs on top of the one Build-and-publish run.