Conversation
71d8d73 to
c8e5082
Compare
There was a problem hiding this comment.
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.
Not sure where VoteTemplates is but it is mentioned on both Java and CPP. cc @leerho
There was a problem hiding this comment.
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.
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.
There was a problem hiding this comment.
I added a new Vote Template in VoteTemplates
There used to be more but they were out of date and I had removed them. The only other template that you might need would be the [ANNOUNCE] template, which is much simpler. You can find examples in dev@ history.
There was a problem hiding this comment.
@PsiACE,
My understanding is that Apache requires that messages for key events (like votes on releases, etc ) be documented / communicated on dev@. This is because the audience for these messages is the entire community of developers and users of a project. Also Apache keeps all these communications in its own archives for legal reasons. If these event messages were on different platforms, some users might not see the message and Apache would not have it in their archives.
There was a problem hiding this comment.
Yes. In fact, these contents will automatically sync to dev@.
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.
| * 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.
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.
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.
We might need the scripts from datasketches/scripts
There was a problem hiding this comment.
@tisonkun,
You will also need a /rust/ subdirectory for the actual release, a. la: https://dist.apache.org/repos/dist/release/datasketches/rust
Apache picks this up and copies it to its release archive. In this directory, please only keep the latest release.
You will notice that we have multiple java version directories because there are still many major platforms that require earlier Java versions. How this works for various Rust versions I don't know.
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.
bashDeployToDist.sh
Do we have this script now?
There was a problem hiding this comment.
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.
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. |
leerho
left a comment
There was a problem hiding this comment.
This is a live document as it will continue to have revisions.
Related to #57 .
Attempt to document a potential release process.
cc @leerho @freakyzoidberg @tisonkun