Releasing
Checklist
Section titled “Checklist”- Run the gates:
cargo fmt --check,cargo clippy --workspace --all-targets --all-features -- -D warnings,cargo test --workspace --all-features,RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --all-features. - Run the live-database suites against
docker-compose.yml(see Testing). - Check the MSRV:
cargo +1.99.0 check --workspace --all-features --all-targets. - Run
cargo deny check. - Move the
[Unreleased]section ofCHANGELOG.mdunder the new version and bumpworkspace.package.versionplus theversionof every internal dependency in the rootCargo.toml. - Tag
vX.Y.Zand publish in the order below.
Publish order
Section titled “Publish order”Each crate depends only on crates listed before it (normal dependencies):
siderite-configsiderite-macrossiderite-validationsiderite-openapisiderite-ormsiderite-backendssiderite-coresiderite-migrationssiderite-cachesiderite-sessionssiderite-clisiderite-testkitsiderite
siderite-bench and the examples are publish = false.
Several crates use siderite-testkit as a dev-dependency while the testkit
depends on them. Cargo does not build dev-dependencies when it verifies a
package.