Skip to content
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

Proposal: Automate Deployment and Changelog Generation #72

Open
hozan23 opened this issue Oct 23, 2024 · 3 comments
Open

Proposal: Automate Deployment and Changelog Generation #72

hozan23 opened this issue Oct 23, 2024 · 3 comments

Comments

@hozan23
Copy link
Collaborator

hozan23 commented Oct 23, 2024

Hello

I'd like to propose a couple of improvements to the repository:

  • Automated Deployment to crates.io:

    Currently, the deployment of datafusion-federation and datafusion-flight-sql-server crates to crates.io is done manually. We could use github actions to automate the deployment process for all the crates in this repository.

  • Automated Changelog Generation:

    It would be helpful to generate a changelog for new releases of datafusion-federation crate automatically.

I came across the tool release-plz that could help with both automating the deployment to crates.io and generating changelogs. It also supports version bumping based on conventional commits.

Please let me know your thoughts on this.

@backkem @phillipleblanc @nathanielc
Thank you

@phillipleblanc
Copy link
Collaborator

+1 from me.

One way to do this is to leverage GitHub releases. There is a way to automatically generate release notes via GitHub releases (https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) and you can trigger workflows based on a release being created that will go and deploy to crates.io.

Here is an example of the auto-generated release notes: https://github.com/datafusion-contrib/datafusion-table-providers/releases/tag/v0.2.3

@nathanielc
Copy link
Collaborator

+1 from me as well. I use conventional commits out of habit these days anyway. I am not too picky on how it gets done, I have had success with cargo based tooling for generating both the release notes and publishing to crates.io. If its helpful here are some workflows that do this for another rust project I work on.

The process of creating a release is to run the create a release workflow manually when we want to create a release. It then creates a PR we can review the release notes etc. When the PR merges the second workflow picks it up and publishes the release to github/crates.io.

We don't need that involved of a process but thought I'd share in case its useful.

@hozan23
Copy link
Collaborator Author

hozan23 commented Oct 27, 2024

Thank you @phillipleblanc and @nathanielc for your suggestions.
I will create a PR soon and submit it for your review.

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

No branches or pull requests

3 participants