https://delta.io logo
r

rtyler

04/20/2023, 5:18 PM
I have a proposal for some of the committers: it's not automated yet, but what if we start pushing more regular patch versions? We're really lethargic about pushing releases of the Rust crate and I that makes working downstream a bit more of a PITA. Here's an approach I would like y'all to consider: • Contributions which make API changes, change the version in
Cargo.toml
, e.g. the next API changes should result in
0.10.0
. • Every two weeks we take
main
and assuming we're stable and there is desire (e.g. "I want to consume this feature that landed") we cut a patch release, e.g. 0.9.1, 0.9.2, 0.9.3.
w

Will Jones

04/20/2023, 5:29 PM
Would automated prereleases (like suggested for Python below) work? Or do you really want more frequent official releases?
r

rtyler

04/20/2023, 5:31 PM
I don't know what pre-releases buy us, we don't follow semver yet since we're under 1.0, and it's not like we're doing lots of massive release regression testing 😆
w

Will Jones

04/20/2023, 5:38 PM
Well I think recently we have put special effort into releases, which include: 1. writing a nice changelog 2. Highlighting new contributors to the project 3. (For Python) I wrote a notebook showing new features (which also provides an opportunity for some manual testing)
🎉 1
maybe the Rust release doesn’t care as much about that, and that’s fine
But basically pre-release allows us to make a release without having to do all the chores we’d like to do for a formal release. So if you want to make it super-frequent, need to cut down on the chores IMO
r

rtyler

04/20/2023, 5:41 PM
I believe @Ian Joiner has generated some of the changelog work, but generally I agree. In terms of actually publishing the crate from the tag, that's work that I am willing to take on until I can get it automated
👍 1
w

Will Jones

04/20/2023, 5:44 PM
I think the one thing that puts on the other devs though is now we need to watch and increment the version.
👍 1
i

Ian Joiner

04/20/2023, 5:48 PM
@rtyler I think it is not automated right now since we want to filter out stuff such as closed issues without attached PRs so the way it works is quite different from arrow-rs. If I have time I can try to write a script that suits the delta-rs customs better.
w

Will Jones

04/20/2023, 5:56 PM
IMO I think the best way to automate it actually would be to change how we make commit messages. If we had something easily parsed and enforced (conventional commits?), then I think this could be automated more easily.
i

Ian Joiner

04/20/2023, 5:58 PM
@Will Jones I agree. Conventional commits are pretty neat. If we enforce that versioning can be easily automated.
r

Robert

04/20/2023, 8:22 PM
At my work we have made great experiences with conventional commits and generating releases from that. IIRC there are several tools / integrations out there that help enforce this quite easily.
👍 1
w

Will Jones

04/20/2023, 8:23 PM
Good to know. If we can reuse existing tools rather than writing our own that would be nice.
i

Ian Joiner

04/20/2023, 8:24 PM
👍 1
r

rtyler

04/20/2023, 9:13 PM
k

Ken Dallmeyer

04/20/2023, 9:17 PM
Conventional Commits for those wondering what people meant above
w

Will Jones

04/23/2023, 2:44 AM
FYI I have created a PR to enforce conventional commit PR titles as a first step toward automated releases. It is based on what they do in the Substrait repo, which uses the
semantic-release
system @Ian Joiner mentioned above.
👍 5
j

Jim Hibbard

04/23/2023, 7:29 AM
Oh this is cool, I like this idea a lot 🙌
2 Views