-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: Proposal for source release process #556
Merged
Merged
Changes from 2 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
8705c3e
Source release process proposal
andygrove 9862dc6
small refinement
andygrove e289e70
Merge remote-tracking branch 'apache/main' into source-release-process
andygrove 7ffe5b5
add more detail
andygrove 5a41804
add more detail
andygrove 7128326
fix
andygrove 5e89f64
more detail
andygrove cf1163f
title
andygrove 86985bb
prettier
andygrove 28c8da5
ASF header
andygrove 4d54253
address feedback
andygrove File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,7 +17,7 @@ specific language governing permissions and limitations | |
under the License. | ||
--> | ||
|
||
# Comet Release Process | ||
# Comet Source Release Process | ||
|
||
This documentation is for creating an official source release of Apache DataFusion Comet. | ||
|
||
|
@@ -31,31 +31,28 @@ Here is a brief overview of the steps involved in creating a release: | |
|
||
This part of the process can be performed by any committer. | ||
|
||
- Create and merge a PR to update the version number & update the changelog | ||
- Push a release candidate tag (e.g. 0.1.0-rc1) to the Apache repository | ||
Here are the steps, using the 0.1.0 release as an example: | ||
|
||
- Create a release branch from the latest commit in main (e.g. `git checkout -b release-0.1.0`) and push to the Apache repo | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. just thinking - perhaps we can convert all steps into github commands? |
||
- Create and merge a PR against the release branch to update the Maven version from `0.1.0-SNAPSHOT` to `0.1.0` | ||
- Generate a changelog for all changes between the previous release tag and the release branch and create a PR against the main branch to add this | ||
- Cherry-pick the changelog PR into the release branch | ||
- Tag the release branch with a release candidate tag (`0.1.0-rc1`) and push to the Apache repo | ||
- Create a PR against the main branch to update the Rust crate version to `0.2.0` and the Maven version to `0.2.0-SNAPHOT` | ||
|
||
## Publishing the Release Candidate | ||
|
||
This part of the process can mostly only be performed by a PMC member. | ||
|
||
- Run the create-tarball script to create the source tarball and upload it to the dev subversion repository | ||
- Run the create-tarball script on the release candidate tag (`0.1.0-rc1`) to create the source tarball and upload it to the dev subversion repository | ||
- Start an email voting thread | ||
- Once the vote passes, run the release-tarball script to move the tarball to the release subversion repository | ||
- Register the release with the [Apache Reporter Service](https://reporter.apache.org/addrelease.html?datafusion) using | ||
a version such as `COMET-0.1.0` | ||
- Delete old release candidates and releases from the subversion repositories | ||
- Push a release tag (e.g. 0.1.0) to the Apache repository | ||
- Push a release tag (`0.1.0`) to the Apache repository | ||
- Reply to the vote thread to close the vote and announce the release | ||
|
||
## Publishing JAR Files to Maven | ||
|
||
The process for publishing JAR files to Maven is not defined yet. | ||
|
||
## Publishing to crates.io | ||
|
||
We may choose to publish the `datafusion-comet` to crates.io so that other Rust projects can leverage the | ||
Spark-compatible operators and expressions outside of Spark. | ||
|
||
## Verifying Release Candidates | ||
|
||
The vote email will link to this section of this document, so this is where we will need to provide instructions for | ||
|
@@ -77,6 +74,17 @@ Another way of verifying the release is to follow the | |
[Comet Benchmarking Guide](https://datafusion.apache.org/comet/contributor-guide/benchmarking.html) and compare | ||
performance with the previous release. | ||
|
||
## Publishing Binary Releases | ||
|
||
### Publishing JAR Files to Maven | ||
|
||
The process for publishing JAR files to Maven is not defined yet. | ||
|
||
### Publishing to crates.io | ||
|
||
We may choose to publish the `datafusion-comet` to crates.io so that other Rust projects can leverage the | ||
Spark-compatible operators and expressions outside of Spark. | ||
|
||
## Post Release Activities | ||
|
||
Writing a blog post about the release is a great way to generate more interest in the project. We typically create a | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is Source means here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are defining the process for making an official ASF release, which must be a source tarball.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is the DataFusion 39 release, for example: