- Manual method
- Go to
crates.io
, sign in, and create an API token in Account Settings
> API Tokens
.
- Use
cargo login <token>
to save the token in $CARGO_HOME/credentials.toml
.
just build; just clippy; just run; just doc; cargo package --locked
- Review the packaging output in
/cargo-target-mdbook-utils/target/package
or use cargo package --list
.
- When ready,
cargo publish --locked --dry-run; cargo publish --locked
- Docker Compose method
- Pass the
publish.sh
script (and required argument -y
) as a command
to docker compose run
.
- Pass the
CRATES_TOKEN
env. variable (which is used by publish.sh
) to Docker Compose using --env
.
export CRATES_TOKEN="<token from crates.io>"
docker compose -f .devcontainer/compose.yaml -f .devcontainer/compose-ci.yaml run \
--rm --env CRATES_TOKEN mdbook-utils .devcontainer/publish.sh -y