Hey Russell, Thanks for working on this. I did quite a few Parquet releases. It works, but it is a bit clunky and could use some revamping like you're suggesting.
I'll take a look at the PR. Thanks! Kind regards, Fokko On 2026/05/07 16:14:07 Gang Wu wrote: > Thanks Russell for driving this! > > We are planning to release parquet-java 1.18.0 so it is a perfect time. > > Best, > Gang > > On Thu, May 7, 2026 at 10:36 PM Arnav Balyan <[email protected]> wrote: > > > Yeah that makes sense, looking forward to seeing it land! > > > > On Thu, May 7, 2026 at 7:54 PM Russell Spitzer <[email protected]> > > wrote: > > > > > One trick when sharing this with everyone is that almost every project > > has > > > slightly different build systems or requirements, such as using Gradle or > > > needing other artifacts released. But I think someone familiar with the > > > release process (or how releases should work) should be able to convert > > it > > > pretty easily with LLMs. > > > > > > On Thu, May 7, 2026 at 9:21 AM Arnav Balyan <[email protected]> > > > wrote: > > > > > > > Hi Russell, > > > > > > > > Thank you so much for putting this together, this would be really > > useful. > > > > > > > > I ran locally prepare-rc.sh and cancel-rc.sh in dry run mode, > > everything > > > > works end to end on my side. > > > > Both commands generated the expected [VOTE] and [RESULT][VOTE] email > > > > templates and completed successfully. All 86 bats tests pass as well. > > > > Could not test publish-release since I did not have a local RC > > available. > > > > (On a side note since many ASF projects would find this useful, I was > > > > wondering if it might be worth eventually living somewhere shared like > > an > > > > ASF repo or a template, such that other projects could also benefit > > from > > > > it?) > > > > > > > > Thank you so much for sharing this! > > > > > > > > Warm regards, > > > > Arnav > > > > > > > > On Thu, May 7, 2026 at 3:23 AM Russell Spitzer < > > > [email protected]> > > > > wrote: > > > > > > > > > Hey Y'all, > > > > > > > > > > As we discussed briefly today, I think we can significantly improve > > > > > Parquet's ability to do faster, more consistent releases by > > automating > > > > more > > > > > of the release process. > > > > > > > > > > To that end, I've taken a cue from Apache Polaris's automated release > > > > > pipeline and put together a PR for Apache Parquet Java: > > > > > > > > > > Issue: https://github.com/apache/parquet-java/issues/3547 > > > > > PR: https://github.com/apache/parquet-java/pull/3548 > > > > > > > > > > The basic idea is to leverage Apache-owned SVN, Nexus, and GPG keys > > as > > > > > secrets in GitHub Actions. The release manager's workflow becomes: > > > > > > > > > > Prepare RC — Run the "Prepare Release Candidate" GitHub Action > > > > > Vote — Send the generated vote email and monitor the vote > > > > > If passing — Run the "Publish Release" GitHub Action > > > > > If failing — Run the "Cancel Release Candidate" GitHub Action > > > > > Each action defaults to dry-run mode, and the scripts can also be run > > > > > locally outside of GitHub Actions. > > > > > > > > > > What's missing before we can fully test this is filing a few Apache > > > Infra > > > > > tickets to get the proper secrets (Nexus, SVN, GPG) configured on the > > > > > parquet-java repository. I'm happy to file those if folks are on > > board > > > > with > > > > > the general approach. I've tested what I can locally with dry runs, > > > but a > > > > > real end-to-end test will require those secrets to be in place. > > > > > > > > > > Feedback and reviews welcome! > > > > > > > > > > Thanks, Russell > > > > > > > > > > > > > > >
