Thank you for considering contributing!
inlyne is just a standard Rust project, so if you're familiar with working on
those then you're likely prepared enough to contribute. Feel free to open or
comment on an issue/PR to get guidance from one of the maintainers
inlyne uses all the standard Rust tooling (cargo et al.)
If the change you're hacking on updates one of the results of the snapshot tests
then you'll want to install
cargo-insta. You'll get a message
about reviewing the changes when you run the test suite
cargo test
# ... Some test failure about snapshot changes
cargo insta review
# ... Review the changes to make sure they look rightIf you're wondering 'Is this relevant to me?' Then the answer is probably no ;P
- Check for unused dependencies
$ cargo +nightly udeps
- Bump
versioninCargo.toml - Propagate the change to
Cargo.lock$ cargo check -p inlyne
- Run the test suite to update version-dependent snapshots
$ cargo test- If needed:
$ cargo insta review
- Optional: If making a breaking release update the
example.pnglink in the README to point to the appropriate release branch - Update static assets
$ cargo xtask gen
- Update
rust-versioninCargo.toml$ cargo msrv find --min 1.80 -- cargo check
- Update the
CHANGELOG.md - Merge changes through a PR or directly to make sure CI passes
- Publish on GitHub by pushing a version tag
$ git tag v{VERSION}(make sure the branch you are on is up to date)$ git push upstream/origin v{VERSION}
- Make a release announcement on GitHub after the release workflow finishes
- Publish on crates.io
$ cargo publish