Skip to content

B2 SDK docs: expand the one-line release guide into a complete maintainer runbook #593

Description

@ffumero2003

Description

README.release.md contains only one instruction: run the make_release_commit Nox session and follow its output. The implementation in noxfile.py validates an X.Y.Z version, requires a clean worktree, runs Towncrier, and prints manual commit, push, and tag commands. .github/workflows/cd.yml then builds tagged revisions, creates a GitHub release, and publishes non-prerelease builds to PyPI when credentials are present. None of these boundaries, prerequisites, or failure points are explained in the release guide.

Steps to reproduce

1. Open README.release.md.
2. Try to determine which branch must be used, what the Nox task changes, when to commit, when to tag, and when PyPI publishing occurs.
3. Compare the missing information with noxfile.py and .github/workflows/cd.yml.

Expected behavior

The release guide should document the clean-worktree requirement, version format, changelog-fragment review and compilation, release commit, CI gate, Git tag, GitHub release, stable-versus-prerelease PyPI behavior, required credentials, and post-release verification. It should also explain recovery before and after a tag is pushed, including how to handle a failed CI/CD run without reusing a published version incorrectly.

Actual behavior

The guide delegates the process to terminal output and leaves maintainers dependent on implementation details. It does not explain that make_release_commit prepares changes but does not itself commit or tag, or that the CD workflow may create a GitHub release without publishing to PyPI when its token is unavailable.

Environment

  • Python version: Any supported version
  • b2sdk version: master at f3ab7b71
  • OS: Any

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions