No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
LICENSE
README.md
setup.py

README.md

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 gtk 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 repositoryz.
  • Write a blog post (add the file into _posts folder in gtk-rs.github.io repository) announcing the new release.

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

Using this tool

I don't recommend it if you're not a member of the gtk-rs organization but just in case:

python3 src/release.py -m MEDIUM -t [Your github token here]