Development#

See also Build.

Tests#

Tested with lit and FileCheck.

cargo build
lit --path=$PWD/target/debug test/

Alternatively,

make lit

Benchmarks#

Large Soufflé files are available in bench/. Try passing --trace to souffle-lint. Compare performance to souffle --show=parse-errors.

Releasing#

  • Create branch with a name starting with release

  • Update doc/changelog.rst

  • Update the version number in scripts/ci.sh

  • Update the version number in Cargo.toml, then cargo build --release

  • Check that CI was successful on the release branch

  • Merge the release branch to main

  • Delete the release branch

  • 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