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.tomlfind 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/