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 intocrate
branch in every repository (starting withsys
and ending withgtk
). (/!\cairo-sys
is incairo
repository, notsys
/!) - Update crate version in
Cargo.toml
and the number of itsgtk-rs
dependencies. - Open pull requests to
crate
branches to corresponding repositories. - Once pull requests have been merged, publish all crates to
crates.io
(using thecargo publish
command). - Generate new docs (don't forget
--all-features
when usingcargo doc
!). To do so, go to the "higher" crate (sosourceview
at the moment) directory (incrate
branch) and runcargo doc --features=embed-lgpl-docs
. Then runcp -r target/doc/* ../docs
(wheredocs
is the corresponding directory for thegtk-rs/docs
repository). Commit then push the changes to thedocs
(make a pull request and all the usual stuff...). - Merge
pending
branch intomaster
in thegtk-rs/examples
repository (by opening a pull request of course). - Update badges version number in the
_data/crates.json
in thegtk-rs/gtk-rs.github.io
repository. - Write a blog post (add the file into
_posts
folder ingtk-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.