Repository navigation
Update CI, release checks and project metadata - #115
Merged
Merged
Conversation
- Testing: run on pull requests too, test Python 3.11-3.14, current checkout/setup-python actions, install the package instead of requirements.txt. - Release: check that the tag matches pyproject.toml and pyuff/__init__.py, run the tests and twine check before publishing, follow pypa/gh-action-pypi-publish@release/v1. - Classifiers list Python 3.11-3.14 (requires-python >=3.11). - Read the Docs builds on Ubuntu 24.04 with Python 3.13. - Remove setup.py, requirements.txt and requirements.dev.txt; pyproject.toml is the single source (dev dependencies are in the "dev" extra).
pyuff.__version__ is read from the installed package metadata; the release workflow checks the tag against pyproject.toml only.
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.
Housekeeping after the 2.5.7 release (whose first publish failed because the pinned
gh-action-pypi-publish@v1.13.0did not accept Metadata-Version 2.5).Testing workflow
pull_requestas well aspush, so PRs from forks are tested.requires-python = ">=3.11").actions/checkout@v7,actions/setup-python@v7.pip install .) instead ofrequirements.txt.Release workflow
vX.Y.Zdoes not match the version inpyproject.toml.twine checkbefore publishing.pypa/gh-action-pypi-publish@release/v1(latest v1) instead of a pinned version.id-token: write, no API token); the trusted publisher is registered on PyPI (owner ladisk, repo pyuff, workflowrelease-and-publish-to-pypi.yml, no environment). ThePYPI_API_TOKENsecret is no longer used and can be deleted after the first successful release.gh release create vX.Y.Z --target main --generate-notes.Project metadata
pyproject.toml;pyuff.__version__is read from the installed package metadata (importlib.metadata), with"unknown"when pyuff is imported from a source tree without being installed. Editable installs report the version they were installed with, so reinstall (pip install -e .) after a version bump.setup.py,requirements.txtandrequirements.dev.txt;pyproject.tomlis the single source (dev dependencies are in thedevextra:pip install -e .[dev]).Checked locally: tests on Python 3.11 and 3.12, build +
twine check, flake8 syntax check, the tag/version check (passes forv2.5.7, fails forv2.5.8), andpyuff.__version__from an installed wheel (2.5.7) and from an uninstalled source tree (unknown).