slint-ui / slint

Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
https://slint.dev
Other
16.94k stars 568 forks source link

More automated release process #2995

Closed ogoffart closed 8 months ago

ogoffart commented 1 year ago

The release process right now is fairly automated. But @hunger complained that there are still too many manual step. This issue document some of these manual step and consider things to automate.

By "release script", i mean the github action that do the release, which is right now, the nightly build with the release checked.

This basicly take some steps from https://github.com/slint-ui/wiki/blob/main/infrastructure/release_checklist.md

hunger commented 1 year ago

Maybe we can look into existing tooling and how that can help us: There is cargo-release and similar tools meant to automate much of the release process of Rust projects. This includes the upload of sets of crates in dependency order as well as bumping versions on the rust side of the project.

We could have an xtask to do ensure the version number in Cargo.toml is propagated to the non-Rust parts of the project as well.

The website refresh action can surely be triggered by the release action.

ogoffart commented 1 year ago

The website refresh action can surely be triggered by the release action.

I'd prefer removing it completely by putting it in the same workflow

ogoffart commented 8 months ago

The current proccess is fine as it is, the remaining task are difficult to automate for very low gain.