-
Notifications
You must be signed in to change notification settings - Fork 10
docs: document release process #61
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
base: main
Are you sure you want to change the base?
Conversation
71d8d73 to
c8e5082
Compare
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.
This is due to me following the release process commands to double check the functionality.
RELEASE.md
Outdated
|
|
||
| ## Prepare & Send [VOTE] Letter to dev@ | ||
|
|
||
| * See VoteTemplates directory for a recent example |
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.
Not sure where VoteTemplates is but it is mentioned on both Java and CPP. cc @leerho
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.
At Opendal, we've switched some mailing list processes to GitHub Discussions as the primary channel and established a standardized format. Like this apache/opendal#6794
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.
That's interesting. I'm in favour of this but I'm new to the ASF way of doing things so maybe @leerho can have a more informed opinion.
RELEASE.md
Outdated
| * Run `cargo update` to ensure Cargo.lock is updated | ||
| <!-- TODO: * Run code coverage: `cargo llvm-cov --workspace` (target > 90%). --> | ||
| * Run tests on all platforms (see CI workflow) | ||
| * Confirm that documentation builds: `cargo doc --open` |
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.
| * Confirm that documentation builds: `cargo doc --open` | |
| * Confirm that documentation builds: `RUSTDOCFLAGS="--cfg docsrs" cargo +nightly doc --all-features --no-deps --open` |
This is what docs.rs does.
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.
Can we have an X script for this?
RELEASE.md
Outdated
| * `mkdir -p dist/release/datasketches/` | ||
| * Checkout both "dev" and "release" directories: | ||
| * Open a terminal in the dist/dev/datasketches directory and do a checkout: | ||
| * `svn co https://dist.apache.org/repos/dist/dev/datasketches/ .` #Note the DOT |
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.
I suppose we need only the rust subdirectory:
svn co https://dist.apache.org/repos/dist/dev/datasketches/rust
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 might need the scripts from datasketches/scripts
RELEASE.md
Outdated
| * To start GPG if GPG Agent is not running: | ||
| * `eval $(gpg-agent --daemon)` | ||
| * Run the deployment script: | ||
| * `./bashDeployToDist.sh /Users/\<name\>/dev/git/Apache/datasketches-rust datasketches-rust A.B.X-rc.1` |
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.
bashDeployToDist.sh
Do we have this script now?
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.
I think these scripts are here: https://dist.apache.org/repos/dist/dev/datasketches, along with vote templates.
|
I'm feeling this is too complicated to follow. Although it covers many details, may we start with an easier version? That is, many works should be guarded with CI. The release only steps are packaging the source tarball + calling a release on the mailing list. Perhaps with an extra cargo release, which can be automated later, like https://github.com/apache/opendal/blob/b430879d45412e960f2bb8313558dbc18feec6c9/.github/workflows/release_rust.yml#L76-L82 cc @Xuanwo |
I thought this was standardized across projects. I would gladly simplify this! |
9cbc4bb to
40c7a8c
Compare
40c7a8c to
0f71d1d
Compare
|
I think you can give it another pass @tisonkun . I've tried to include the scripts since it's nice to share the same expectations as the other datasketches implementation. |
tisonkun
left a comment
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.
I think we're generally fine here. We can review and polish the document during our first ASF release. Typically, RELEASE.md is a materialized copy of what we really do then.
If it's desired, you can add me as a crate owner to the datasketches crate and I can participate in the release process.
Generally, we need a PMC member as the acting release manager and at least three binding votes from DataSketches PMC members to call a release.
Other improvements, like using GH Discussions as the major channel while keeping the list informed, and automating the release process, can be follow-ups.
|
I've sent an invite @tisonkun ! I will release an rc.1 shortly! https://crates.io/crates/datasketches/0.2.0-rc.1 is live, from commit 22c30bc. We will need a PMC to
|
|
I've tested rc.1 and the T-Digest sketch works well. Let's enjoy the holiday and wait for PMC's feedback. |
Related to #57 .
Attempt to document a potential release process.
cc @leerho @freakyzoidberg @tisonkun