Skip to content

Conversation

@rwgk
Copy link
Collaborator

@rwgk rwgk commented Jul 11, 2025

Description

Improve release documentation safety and clarity

Problem

The current release documentation has potential safety issues and unclear instructions:

  • Uses git push --tags which pushes ALL local tags (potentially including experimental/unwanted tags)
  • Unclear assumptions about remote repository naming (origin, upstream)

Changes

  • Safety improvement: Replace git push --tags with specific git push upstream vX.Y.Z command
  • Add explicit warning: Include "do NOT use git push --tags!" to prevent accidental tag pushes
  • Clarify remote naming: Add note that documentation assumes upstream refers to https://github.com/pybind/pybind11.git
  • Consistency: Update all commands to use upstream remote consistently

Why this matters

Using git push --tags in release documentation is dangerous because:

  • It pushes ALL local tags, not just the intended release tag
  • Could accidentally push experimental, personal, or malformed tags
  • Makes it harder to control exactly what gets published

Suggested changelog entry:

  • Placeholder.

📚 Documentation preview 📚: https://pybind11--5748.org.readthedocs.build/

@rwgk rwgk requested a review from henryiii July 11, 2025 16:23
@rwgk
Copy link
Collaborator Author

rwgk commented Jul 11, 2025

For completeness, I just ran these commands to clean up:

git push upstream --delete archive/llvm_sanitizer_mods
git push upstream --delete archive/pr2198_list_caster_bytes_uint8
git push upstream --delete archive/pr2409_2020_10_18_two_defines
git push upstream --delete archive/pr2672_sideline_cast_shtc_interleaved
git push upstream --delete archive/pr2672_sideline_cast_shtc_interleaved_openspiel_pattern
git push upstream --delete archive/pr2672_test_unique_ptr_member
git push upstream --delete archive/pr2672_use_smart_holder_as_default_v1
git push upstream --delete archive/pr2687_move_holder_test_premature_delete
git push upstream --delete archive/xxx_value_ptr_xxx_holder
git push upstream --delete archive/yclass_v0
git push upstream --delete find_memory_guarded_delete_complete
git push upstream --delete milestones_reached/pr2672_as_deployed_with_cl_358092606
git push upstream --delete open3d-test

All but one tag (open3d-test) were mine.

That one tag was:

commit 34fe2731a631461c74c0f03247753b138313172e (tag: open3d-test)

Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
@rwgk rwgk changed the title Small docs/release.rst update, mainly to warn about git push --tags. Small docs/release.rst update, mainly to remove git push --tags. Jul 11, 2025
@rwgk
Copy link
Collaborator Author

rwgk commented Jul 11, 2025

I cancelled the workflow to not waste our limited CI time for this trivial change.

@rwgk rwgk merged commit fa72aff into pybind:master Jul 11, 2025
53 of 82 checks passed
@rwgk rwgk deleted the docs_release_rst_do_not_git_push_tags branch July 11, 2025 20:49
@github-actions github-actions bot added the needs changelog Possibly needs a changelog entry label Jul 11, 2025
@henryiii henryiii removed the needs changelog Possibly needs a changelog entry label Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants