Developer's guide
Build
To install from source, you'll need to install Rust and Cargo. Follow the instructions on the Rust installation page. Then, get the source:
git clone https://github.com/langston-barrett/mogglo
cd mogglo
Finally, build everything:
cargo build --release
You can find binaries in target/release
. Run tests with cargo test
.
Docs
HTML documentation can be built with mdBook:
cd doc
mdbook build
Release
-
Create branch with a name starting with
release
-
Update
CHANGELOG.md
-
Update the version numbers in
./crates/**/Cargo.toml
find crates/ -type f -name "*.toml" -print0 | \ xargs -0 sed -E -i 's/^version = "U.V.W"$/version = "X.Y.Z"/'
-
Run
cargo build --release
-
Commit all changes and push the release branch
-
Check that CI was successful on the release branch
-
Merge the release branch to
main
-
git checkout main && git pull origin && git tag -a vX.Y.Z -m vX.Y.Z && git push --tags
-
Verify that the release artifacts work as intended
-
Release the pre-release created by CI
-
Check that the crates were properly uploaded to crates.io
Test
Run end-to-end tests with lit
and FileCheck
:
cargo build
lit --path=$PWD/test/bin --path=$PWD/target/debug test/