Skip to content

chore(release): add ASF release scripts for source tarballs#76

Merged
andygrove merged 1 commit into
apache:mainfrom
andygrove:add-release-scripts
May 21, 2026
Merged

chore(release): add ASF release scripts for source tarballs#76
andygrove merged 1 commit into
apache:mainfrom
andygrove:add-release-scripts

Conversation

@andygrove
Copy link
Copy Markdown
Member

@andygrove andygrove commented May 20, 2026

Which issue does this PR close?

Rationale for this change

We don't yet have any tooling in this repo for producing the signed source tarballs required for an ASF release. This PR adds the standard create-tarball.sh / release-tarball.sh / verify-release-candidate.sh triplet so that future releases can follow the same workflow used by other Apache DataFusion subprojects.

What changes are included in this PR?

Adds dev/release/, adapted from the upstream apache/datafusion dev/release/ scripts:

  • create-tarball.sh — produces apache-datafusion-java-<version>-rc<rc>.tar.gz from a git tag, signs it, generates SHA-256/SHA-512 checksums, uploads to dist/dev/datafusion/ on SVN, and prints a draft [VOTE] email for dev@datafusion.apache.org.
  • release-tarball.sh — promotes the artifacts from dist/dev/datafusion/ to dist/release/datafusion/ once the vote has passed.
  • verify-release-candidate.sh — downloads the candidate, verifies GPG signature and checksums, installs a sandbox Rust toolchain, and runs make test to build the native crate and run the JVM test suite.
  • README.md — step-by-step release walkthrough specific to datafusion-java.
  • rat_exclude_files.txt + check-rat-report.py — supporting files for running an Apache RAT license audit against the generated source tarball.

The scripts target the apache-datafusion-java-<version> artifact name and the shared dist/{dev,release}/datafusion/ SVN tree used by other DataFusion subprojects.

Are these changes tested?

The scripts haven't been exercised end-to-end (that requires a release tag, GPG key, and Apache SVN credentials). Shell scripts pass bash -n syntax checks and the Python helper parses cleanly. They will be validated when the first RC is cut.

Are there any user-facing changes?

No — maintainer tooling only.

Adds dev/release/ with create-tarball.sh, release-tarball.sh, and
verify-release-candidate.sh, adapted from apache/datafusion. Also
includes a release README, RAT exclude list, and the check-rat-report.py
helper.

These scripts produce, sign, vote on, promote, and verify the
apache-datafusion-java-<version>.tar.gz source distribution published
under https://dist.apache.org/repos/dist/{dev,release}/datafusion/.
@andygrove andygrove merged commit dfc8db4 into apache:main May 21, 2026
1 check passed
@andygrove andygrove deleted the add-release-scripts branch May 21, 2026 03:48
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.

Add scripts for release process

1 participant