⚠️ This repository is deprecated and no longer accepts contributions.Starting with Newton 1.3, actuators live exclusively in the main
newtonrepository as thenewton.actuatorsmodule. Please open issues and pull requests there instead:
- Repository: https://github.com/newton-physics/newton
- Contributing guide: https://github.com/newton-physics/newton/blob/main/CONTRIBUTING.md
Newton Actuators is a project of the Linux Foundation and aims to be governed in a transparent, accessible way for the benefit of the community. All participation in this project is open and not bound to corporate affiliation. Participants are all bound to the Linux Foundation Code of Conduct.
Please refer to the contribution guidelines in the newton-governance repository for general information, project membership, and legal requirements for making contributions to Newton.
Newton welcomes contributions from the community. In order to avoid any surprises and to increase the chance of contributions being merged, we encourage contributors to communicate their plans proactively by opening a GitHub Issue or starting a Discussion in the corresponding repository.
Please also refer to the development guide.
There are several ways to participate in the Newton community:
- Help answer questions or contribute to technical discussion in GitHub Discussions and Issues.
- If you have a question, suggestion or discussion topic, start a new GitHub Discussion if there is no existing topic.
- Once somebody shares a satisfying answer to the question, click "Mark as answer".
- GitHub Issues should only be used for bugs and features. Specifically, issues that result in a code or documentation change. We may convert issues to discussions if these conditions are not met.
- Check in the GitHub Issues if a report for the bug already exists.
- If the bug has not been reported yet, open a new Issue.
- Use a short, descriptive title and write a clear description of the bug.
- Document the Git hash or release version where the bug is present, and the hardware and environment by including the output of
nvidia-smi. - Add executable code samples or test cases with instructions for reproducing the bug.
- Create a new issue if there is no existing report, or
- directly submit a fix following the "Fixing a Bug" workflow below.
- Ensure that the bug report issue has no assignee yet. If the issue is assigned and there is no linked PR, you're welcome to ask about the current status by commenting on the issue.
- Write a fix and regression unit test for the bug following the style guide.
- Open a new pull request for the fix and test.
- Write a description of the bug and the fix.
- Mention related issues in the description: E.g. if the patch fixes Issue #33, write Fixes #33.
- Have a signed CLA on file (see Legal Requirements).
- Have the pull request approved by a Project Member and merged into the codebase.
- Write an optimization that improves an existing or new benchmark following the style guide.
- Open a new pull request with the optimization, and the benchmark, if applicable.
- Write a description of the performance optimization.
- Mention related issues in the description: E.g. if the optimization addresses Issue #42, write Addresses #42.
- Have a signed CLA on file (see Legal Requirements).
- Have the pull request approved by a Project Member and merged into the codebase.
- Discuss your proposal ideally before starting with implementation. Open a GitHub Issue or Discussion to:
- propose and motivate the new feature or actuator;
- detail technical specifications;
- and list changes or additions to the API.
- Wait for feedback from Project Members before proceeding.
- Implement the feature or actuator following the style guide.
- Add comprehensive testing for the new feature or actuator.
- Ensure all existing tests pass.
- Update or add documentation for the new feature or actuator.
- Have a signed CLA on file (see Legal Requirements).
- Have the pull request approved by a Project Member and merged into the codebase.