Repository navigation
Extend CI: package build, docs build, PyPy, Windows/macOS, lint CLI - #100
Merged
Merged
Conversation
- Build sdist/wheel and run `twine check --strict` on every push/PR, not only at release time. - Build the Sphinx docs with warnings as errors; add doc/requirements.txt and point .readthedocs.yaml at it. - Test on PyPy 3.10/3.11, matching the PyPy classifier. - Test on Windows and macOS (Python 3.13), matching "OS Independent". The test step now calls coverage directly instead of `make`, so it works on Windows runners. - Include bin/jsonpointer in flake8 runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ABG5y5dMYWf6N2dxHZGBdd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds CI checks for things the package claims or depends on but CI never tested.
Changes
buildjob runspython -m buildandtwine check --stricton every push and PR. Until now this only ran inpublish.ymlat release time, so a brokensetup.pymetadata regex wouldn't show up until you tagged a release.docsjob runssphinx-build -W --keep-going, so Sphinx warnings fail the build. Addsdoc/requirements.txtand points.readthedocs.yamlat it.pypy3.10andpypy3.11are added to the test matrix, to back theImplementation :: PyPyclassifier.Operating System :: OS Independent. The test step now callscoveragedirectly instead ofmake coverage, sincemakeisn't reliably installed on Windows runners. The Coveralls flag names now include the OS.bin/jsonpointer, which it skipped before because the file has no.pyextension.Verification
Run locally on Linux with Python 3.13: flake8 passes, including
bin/jsonpointer; all 74 tests pass with 97% coverage; the docs build with no warnings;twine check --strictpasses on both the sdist and the wheel.The PyPy, Windows and macOS jobs haven't been run yet. This PR's CI is their first run. The CLI tests that override the locale (
LC_ALL=C,PYTHONUTF8=0) are the most likely to behave differently on Windows.Generated by Claude Code