Skip to content

Latest commit

 

History

History
38 lines (25 loc) · 1.79 KB

CONTRIBUTING.md

File metadata and controls

38 lines (25 loc) · 1.79 KB

Contributing to externref

This project welcomes contribution from everyone, which can take form of suggestions / feature requests, bug reports, or pull requests. This document provides guidance how best to contribute.

Bug reports and feature requests

For bugs or when asking for help, please use the bug issue template and include enough details so that your observations can be reproduced.

For feature requests, please use the feature request issue template and describe the intended use case(s) and motivation to go for them. If possible, include your ideas how to implement the feature, potential alternatives and disadvantages.

Pull requests

Please use the pull request template when submitting a PR. List the major goal(s) achieved by the PR and describe the motivation behind it. If applicable, like to the related issue(s).

Optimally, you should check locally that the CI checks pass before submitting the PR. Checks included in the CI include:

  • Formatting using cargo fmt --all -- --config imports_granularity=Crate --config group_imports=StdExternalCrate
  • Linting using cargo clippy
  • Linting the dependency graph using cargo deny
  • Running the test suite using cargo test

A complete list of checks can be viewed in the CI workflow file. The checks are run on the latest stable Rust version.

MSRV checks

A part of the CI assertions is the minimum supported Rust version (MSRV). If this check fails, consult the error messages. Depending on the error (e.g., whether it is caused by a newer language feature used in the PR code, or in a dependency), you might want to rework the PR, get rid of the offending dependency, or bump the MSRV; don't hesitate to consult the maintainers.

Code of Conduct

Be polite and respectful.