datatest-stable is designed to work with both cargo test
and cargo nextest
. In either case,
nextest is required for one of the tests. Install it via the instructions here.
If you have a new feature in mind, please discuss the feature in an issue to ensure that your contributions will be accepted.
- Fork the repo and create your branch from
main
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes with
cargo nextest run --all-features
. - Run
cargo xfmt
to automatically format your changes (CI will let you know if you missed this).
As far as possible, please try and make commits atomic and logically separate. We understand that GitHub's pull request model doesn't work well with "stacked diffs", so if your changes are complex, then a single PR with a series of commits is preferred.
It is important that the project history is bisectable, so that when regressions are identified we
can easily use git bisect
to be able to pinpoint the exact commit which introduced the regression.
We'll land your commits with:
- "Rebase and merge" if your commits are atomic and each commit passes CI.
- "Squash and merge" if they are not.
For efficiency reasons, maintainers may choose to edit your commits before landing them. The commits will still be credited to you, and the edits will be limited to reasonable changes that are in the spirit of the PR. (Think of the changes that the maintainers would have done anyway.)
To make this easier, please check the box that allows maintainers to edit your branch:
If maintainers need to make changes and that box is checked, then your PR can be marked as "merged" in the web UI. Otherwise, it will be marked as "closed".
By contributing to datatest-stable
, you agree that your contributions will be dual-licensed under
the terms of the LICENSE-MIT
and LICENSE-APACHE
files in the
root directory of this source tree.