Skip to content
This repository has been archived by the owner on Jun 8, 2021. It is now read-only.

Latest commit

 

History

History
15 lines (12 loc) · 1.46 KB

release_process.md

File metadata and controls

15 lines (12 loc) · 1.46 KB

Release process

Since gtk-rs has multiple crates which have inter-dependencies, it's a bit painful to make a new release. So here are the multiple steps:

  • Merge master branch into crate branch in every repository (starting with sys and ending with gtk). (/!\ cairo-sys is in cairo repository, not sys /!)
  • Update crate version in Cargo.toml and the number of its gtk-rs dependencies.
  • Open pull requests to crate branches to corresponding repositories.
  • Once pull requests have been merged, publish all crates to crates.io (using the cargo publish command).
  • Generate new docs (don't forget --all-features when using cargo doc!). To do so, go to the "higher" crate (so sourceview at the moment) directory (in crate branch) and run cargo doc --features=embed-lgpl-docs. Then run cp -r target/doc/* ../docs (where docs is the corresponding directory for the gtk-rs/docs repository). Commit then push the changes to the docs (make a pull request and all the usual stuff...).
  • Merge pending branch into master in the gtk-rs/examples repository (by opening a pull request of course).
  • Update badges version number in the _data/crates.json in the gtk-rs/gtk-rs.github.io repository.
  • Write a blog post (add the file into _posts folder in gtk-rs.github.io repository) announcing the new release.
  • Update crate version of the master branches on every repository.

NOTE: Pull requests on the crate branch aren't build.