fix(docs): close the async code fence, and give each tag a GitHub release - #43
Conversation
…ease Two escapes in the README were written as the literal characters \n rather than newlines, so the asynchronous usage fence neither opened nor closed. On PyPI every section after it, supported versions, documentation links, provenance verification and the maintenance notes, rendered inside the code block. Visible at https://pypi.org/project/flat-api/2.0.0/ Checked the rest: all twelve fences in the README now pair up, none carry an escape, and no other markdown file in this repository or the other three clients has the same problem. Publishing also now creates a GitHub release for the tag rather than leaving it bare. A tag on its own tells a reader nothing and notifies nobody; a release carries the version's changelog section and reaches anyone watching this repository. The notes are extracted from CHANGELOG.md by heading, falling back to a pointer at the file when a version has no section. This needs contents: write, which the workflow did not have.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: addf5bf970
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| @@ -1 +1 @@ | |||
| 2.0.0 | |||
| 2.0.1 | |||
There was a problem hiding this comment.
Keep the runtime version synchronized with VERSION
Publishing this tree as 2.0.1 still installs flat_api/__init__.py with __version__ = "2.0.0" at lines 13 and 65; flat_api.api_client also derives its user-agent version from that value. Consequently every 2.0.1 installation reports itself as 2.0.0 despite the wheel metadata and tag saying 2.0.1, so the runtime version sources must be updated alongside VERSION.
Useful? React with 👍 / 👎.
|
|
||
| # A bare tag tells a reader nothing. This gives the version a page carrying its changelog | ||
| # section, and it is what a watcher of this repository is notified about. | ||
| - name: Publish the GitHub release |
There was a problem hiding this comment.
Make the post-upload release step retryable
When the PyPI upload succeeds but this new GitHub release step fails—for example because of a transient GitHub API error—rerunning the failed job executes the PyPI action again before reaching this step. PyPI rejects the already-published files, as the workflow itself notes above the upload, so the rerun cannot create the missing release and the tag remains bare; put release creation in a separate dependent job or otherwise make the upload path idempotent.
Useful? React with 👍 / 👎.
Ships as 2.0.1.
The README broke on PyPI
Two escapes were written as the literal characters
\nrather than newlines, so the asynchronous usage fence neither opened nor closed:Everything after it, supported versions, documentation links, provenance verification and the maintenance notes, rendered inside the code block. Visible at https://pypi.org/project/flat-api/2.0.0/
Checked the rest rather than just this one: all twelve fences pair up, none carry an escape, and no other markdown file here or in the other three clients has the same problem.
Tags now get a GitHub release
tag-on-merge.ymlalready creates the tag automatically on merge, but a bare tag tells a reader nothing and notifies nobody watching the repository. Publishing now creates a release carrying that version'sCHANGELOG.mdsection, falling back to a pointer at the file when a version has no section.Needed
contents: write, which the workflow did not have.Verified
uv buildemitsflat_api-2.0.1readme_rendererparses the README, which is what PyPI uses