Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 2.04 KB

CONTRIBUTING.md

File metadata and controls

46 lines (34 loc) · 2.04 KB

Contributing to emlop

Thank you for taking the time to contribute.

Follow the Rust and Gentoo codes of conduct.

Reporting bugs or feature requests

Please create issues via Github. Check existing issues, and make sure you're running the latest version.

Sending patches

Emlop is licensed as GPLv3, any contribution accepted into the emlop repo will have that license. Send pull requests via Github.

Run cargo test -- --include-ignored before submitting your code. A bugfix should probably include a new/updated unittest. Check cargo clippy hints. Format code using cargo +nightly fmt. The github CI also runs these checks.

Test emlop with the latest rust stable versions from both Gentoo and upstream, and the oldest version from Gentoo. Using rustup is highly recomended.

Check for performance improvements/regressions using benches/exec_compare.rs (you need to cargo install scriptisto to be able to run this file) and cargo +nightly bench -F unstable bench (you need a nightly toolchain installed).

I only have access to amd64/linux/gentoo/portage environements. Reports about running emlop on arm/freebsd/funtoo/paludis/etc would be appreciated.

Release checklist

  • Update deps: cargo outdated, edit Cargo.toml, cargo +nightly update -Zmsrv-policy.
  • Check git status and either commit+push or stash.
  • Check github CI status.
  • Update/commit CHANGELOG.md, Cargo.toml, Cargo.lock.
  • git tag <version> -a (copy the changelog entry into the tag).
  • git push --tags.
  • Create release from tag in github
  • Create new ebuild in moltonel-ebuilds.
    • Use cargo package to get a crate to test
    • Check against main repo ebuild
    • Check tests and useflag variations
  • Publish to crates.io.
  • Send a pull request.