Repository navigation
build: fix the publish workflow checkout and the packaging warnings - #319
Conversation
The publish run for v0.33.0 passed, but it showed three defects. publish.yml: the build job used `actions/checkout@master`, and a `setup-python` step had the `persist-credentials` input of the checkout action. #281 intended `actions/checkout@v7` with `persist-credentials: false`. The job now has that step, and the incorrect `setup-python` step is gone. MANIFEST.in: `recursive-include tests *` matched nothing, because the directory is `test`. The sdist did not contain `test/conftest.py`, so its tests could not run. The line now names `test`. The two `exclude` lines came before the include lines and had no effect on them. One `global-exclude *.py[cod]` line after the include lines replaces them and keeps compiled files out of the sdist. pyproject.toml: `license` is now the SPDX expression `MIT`, and the license classifier is gone. setuptools reported the two old forms as deprecated. The SPDX form needs setuptools 77.0.3, so the build requirement is now `setuptools>=77.0.3`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WMdSnqGyEgaYYyfafF7648
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 15 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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. |
|
This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again. |
Summary
The publish run for
v0.33.0passed, but its log showed three defects. This pull request fixes them. No package code changes.Run: https://github.com/jaysonsantos/python-binary-memcached/actions/runs/38235766182
What changed
.github/workflows/publish.ymlThe build job had two incorrect steps:
actions/checkout@master, which is a branch that can change.Set up Python 3.10that gavepersist-credentials: falsetoactions/setup-python. That action does not have this input, and the step set no Python version.#281 intended
actions/checkout@v7withpersist-credentials: false. The job now has that step, and the incorrectsetup-pythonstep is gone. The stepSet up Pythonwith Python 3.14 stays.This job builds the files that go to PyPI, so the checkout action must not come from a branch.
MANIFEST.inrecursive-include tests *matched nothing, because the directory istest. The line now namestest.test/conftest.py, so the tests in that sdist cannot run. The sdist from this branch contains the file.excludelines came before the include lines and had no effect on them. With the correctedtestline, a local build after a test run put.pycfiles into the sdist. Oneglobal-exclude *.py[cod]line after the include lines replaces the two lines and prevents this.pyproject.tomllicense = { text = "MIT" }is nowlicense = "MIT", an SPDX expression.License :: OSI Approved :: MIT Licenseis gone. setuptools rejects a license classifier together with an SPDX expression.setuptools>=77.0.3, the first version that accepts the SPDX form.The wheel metadata now has
License-Expression: MIT. It hadLicense: MITand the classifier.Tests
I built the package with the build steps of
publish.yml, on a copy ofmainand on a copy of this branch:maintestsdirectoryproject.licensetabletwine check --strict.pycfiles in the sdist, clean treetest/conftest.py..pycfiles intest/,docs/, andbmemcached/. The sdist had the same 72 files and no.pycfile.Tests from an extracted sdist,
python -m pytest -q test:Repository checks:
Result: 296 passed, 3 skipped. The 3 skipped tests are the SASL tests, because the local memcached has no SASL support. The other commands pass.
Limits
publish.ymlruns only on av*tag and onworkflow_dispatch, so no check on this pull request runs it. The next release is its first run.dogpile-cache.yml, which run on this pull request.actionlintdoes not report the incorrectpersist-credentialsinput onmain. The warning annotations of the run above are the evidence for that defect.no previously-included files matching '*.py[cod]' found anywhere in distribution. It is correct, because a clean tree has no compiled files.🤖 Generated with Claude Code
https://claude.ai/code/session_01WMdSnqGyEgaYYyfafF7648