Releasing

Publishing to Crates.io

Instructions for uploading to the crate repository at crates.io are at doc.crates.io/crates-io.html. First login to the site using:

cargo login <token>

Tokens can be found from crates.io/me. To make a release, first clean and build the package:

git stash
cargo clean
cargo package

Examine the built package under target/package/cargo-sphinx-<version>. And when happy to publish:

cargo publish

And check out the new update at crates.io/crates/cargo-sphinx.

Publishing the Documentation

Project documentation is published to woofwoofinc.github.io/cargo-sphinx using GitHub Pages.

Build and publish the documentation as described in Documentation. The GitHub configuration for this project is to serve documentation from the gh-pages branch.

cargo sphinx --push

Publishing from the container fails for missing GitHub credentials. In this case it is possible to run the publication command in the container interactively and complete it on the host machine. Compile and generate the Git repository to push in docs/_build/html by running the following in the container.

cargo sphinx --push

Then on the host, change to docs/_build/html which is now a new Git repository with the documentation HTML committed on master. Push this to origin by specifying the remote.

cd docs/_build/html
git push -f git@github.com:woofwoofinc/cargo-sphinx.git master:gh-pages