mirror of
https://github.com/safishamsi/graphify.git
synced 2026-10-13 15:40:05 +00:00
Follow-up edits on #3845 to match the settled maintainer decisions: - CODE_OF_CONDUCT.md: set the enforcement/reporting contact to safi@graphify.com (was an unspecified 'email the maintainer if known'). - README team-graph section: add the machine-local never-commit list (.graphify_root, .graphify_python, .graphify_analysis.json, the AST cache, needs_update) and the re-extract-to-update note. manifest.json stays committable since #3781 made its keys portable. - Add RELEASING.md (maintainer-facing): version bump + changelog + uv.lock, test on 3.10/3.13, push v8, gh release create -> PyPI via trusted publishing (no twine/token), verify with uvx --refresh. - CONTRIBUTING Further Reading: drop the paid Gumroad link, point at RELEASING.md instead. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Releasing graphify
Maintainer-facing release process. Contributors do not need this; see CONTRIBUTING.md for how to propose changes.
graphify publishes to PyPI (package name graphifyy) automatically through
GitHub trusted publishing. There is no manual twine upload and no API token to
manage.
Steps
- Bump the version. Edit
versioninpyproject.toml. - Update the changelog. Add a dated section for the new version at the top of
CHANGELOG.md, crediting each landed PR and its author. - Refresh the lock. Run
uv locksouv.lockrecords the new version (and any dependency changes). - Test on both supported interpreters. Run the full suite on Python 3.10 and
3.13:
uv run pytest # and against a 3.13 environment, e.g. uv run --python 3.13 pytest - Commit and push
v8. Commit the version, changelog, and lock together, thengit push origin v8. - Cut the GitHub release. Tag the release off
v8:Publishing the release firesgh release create vX.Y.Z --repo Graphify-Labs/graphify --target v8 \ --title "vX.Y.Z" --notes-file <notes>publish.ymlon therelease-publishedevent, which builds the wheel/sdist and uploads to PyPI via trusted publishing. Do not runtwineor pass a token. - Verify the install once PyPI has the new version (the JSON API updates
before the install index; use
--refresh):uvx --refresh --from graphifyy==X.Y.Z graphify --version
Version numbering
Keep public versions contiguous. If a number was bumped locally but never published to PyPI, reuse that number for the next release rather than leaving a gap.
Supported versions
Security fixes target only the latest released 0.9.x. See
SECURITY.md.