Skip to content

Fix __struct_encode_fields__ check in CI - #1114

Merged
sobolevn merged 1 commit into
msgspec:mainfrom
sobolevn:fix-ci
Jul 3, 2026
Merged

sobolevn merged 1 commit into
msgspec:mainfrom
sobolevn:fix-ci

Conversation

@sobolevn

@sobolevn sobolevn commented Jul 3, 2026

Copy link
Copy Markdown
Member
>>> import msgspec
>>> class S(msgspec.Struct):
...     i: int
...     
>>> S(i=1).__struct_encode_fields__
('i',)

For some reason CI in #813 passed 🤔

@sobolevn

sobolevn commented Jul 3, 2026 •

Copy link
Copy Markdown
Member Author

Ok, I know what happened 🤦‍♂️

I propose to use the same thing we use in CPython for this: https://github.com/python/cpython/blob/1b4135a2c69f5320dbdcb37dcc295a5fd36580b5/.github/workflows/build.yml#L676-L727
The action is called https://github.com/marketplace/actions/alls-green

@codspeed

codspeed Bot commented Jul 3, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 139 untouched benchmarks
⏩ 135 skipped benchmarks1


Comparing sobolevn:fix-ci (b5a3bf7) with main (fbb5a84)

Open in CodSpeed

Footnotes

  1. 135 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@sobolevn
sobolevn added this pull request to the merge queue Jul 3, 2026
Merged via the queue into msgspec:main with commit 9ddc0e9 Jul 3, 2026
27 checks passed
@sobolevn
sobolevn deleted the fix-ci branch July 3, 2026 16:21
Brohammad pushed a commit to Brohammad/msgspec that referenced this pull request Sep 4, 2026
The 0.21.1 to 0.22.0 changelog batch (msgspec#1112) landed on 2026-07-03. Four
user-visible changes merged between then and the 0.22.0 release on
2026-08-11 never got an entry:

- msgspec#700, overloads on the `Meta` stub, so type checkers reject mixing
`gt` with `ge` and `lt` with `le`
- msgspec#1028, `null` placed last in the `anyOf` generated for optional unions
- msgspec#1114, `__struct_encode_fields__` added to `src/msgspec/__init__.pyi`
(its companion msgspec#813 only touched `tests/typing`, so it needs no entry of
its own)
- msgspec#1118, `json.encode` raising `TypeError` for a `dict` keyed by a plain
`str`-valued `enum.Enum`

I went over every PR merged in that window. The rest need no entry: msgspec#813
and msgspec#1117 are tests only, msgspec#1121 fixes an unreleased regression from
msgspec#1028, msgspec#1145 is an unused variable under free-threaded builds, and msgspec#1146
and msgspec#1148 are CI and tooling. msgspec#1127, msgspec#1135 and msgspec#1080 already have
entries.

Docs build clean with `--fail-on-warning`.

Note for whoever retries the release: the section is still headed
`Version 0.22.0 (2026-08-11)`, and that date will need updating, since
the tag was deleted after the upload failed. Refs msgspec#1134.

Co-authored-by: Siyet <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant