Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 1.62 KB

CONTRIBUTING.md

File metadata and controls

47 lines (38 loc) · 1.62 KB

Contributing

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

Tooling

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 right

Release checklist

If you're wondering 'Is this relevant to me?' Then the answer is probably no ;P

  • Check for unused dependencies
    • $ cargo +nightly udeps
  • Bump version in Cargo.toml
  • Propagate the change to Cargo.lock
    • $ cargo check -p inlyne
  • Optional: If making a breaking release update the example.png link in the README to point to the appropriate release branch
  • Update static assets
    • $ cargo xtask gen
  • Update rust-version in Cargo.toml
    • $ cargo msrv --min 1.60 -- cargo check
  • Merge changes through a PR or directly to make sure CI passes
  • Publish on crates.io
    • $ cargo publish
  • 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