apache / apache/arrow

[Release] Improve post-11-bump-versions.sh to avoid possible stray commits to reaching main

Open
#36,048 5 comments 0 reactions 0 assignees View on GitHub
Component: Developer Tools Component: Release Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

### Describe the enhancement requested

In the `post-11-bump-versions.sh` we push directly to main. I already created an issue in the past that I thought we could modify it to not push: https://github.com/apache/arrow/issues/33931

For the 12.0.1 patch release I accidentally had some issues when executing the script due to the Debian package versions failing to be updated. It was successful when I used: `BUMP_DEB_PACKAGE_NAMES=0`
When it finally executed correctly it pushed a lot of testing commits I had done locally to understand what the issue was plus some stray commits from previous executions as seen here:
https://github.com/apache/arrow/compare/f08670bd20e81ae79f33e66256927f584ae62d02...e53db939bfad2f20e332172ab4f453add1dc680d

As seen on those commits I pushed a new commit reverting the bad ones.

In order to avoid this from happening in the future we could:
* Validate when executing the script that local history does not differ from upstream. There are no stray commits.
* Do not push directly but show the command and prompt to push, asking the user to validate history before pushing.

### Component(s)

Developer Tools, Release

Contributor guide

Open the contributing guide

Research direction

Start by reading post-11-bump-versions.sh and trace the path that updates Debian package versions and pushes to main, including the BUMP_DEB_PACKAGE_NAMES=0 case. Compare the local history with upstream before the push step, or review how a confirmation prompt could expose the command; done means the script cannot unknowingly push stray commits.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
release, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.