We welcome contributions from the community and first want to thank you for taking the time to contribute!
Please familiarize yourself with the Code of Conduct before contributing.
Before you start working with syscall-failure-analyzer, please read our Developer Certificate of Origin. All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch.
We welcome many different types of contributions and not all of them need a Pull request. Contributions may include:
- New features and proposals
- Documentation
- Bug fixes
- Issue Triage
- Answering questions and giving feedback
- Helping to onboard new contributors
- Other related activities
This section provides a comprehensive guide on how to contribute to the project by setting up your development environment, and ensuring code quality before submitting a pull request. Though the project is in Python, which simplifies the build process, it's crucial to follow these guidelines for a smooth collaboration.
-
Clone the Repository: Clone the repository to your local machine using the following command in your terminal:
git clone https://github.com/vmware-labs/syscall-failure-analyzer
-
Navigate to the Project Directory:
cd your-repository
-
Install Required Packages: Use
pip
to install the required Python packages:pip install -r requirements.txt
Before submitting a pull request, make sure that your code adheres to the following guidelines:
-
No MyPy Warnings: Your code should not produce any MyPy warnings. Run the following command to check:
mypy .
If you see any warnings, correct the type annotations to resolve them before submitting your pull request.
-
Create a New Branch:
git checkout -b your-feature-branch
-
Add and Commit Your Changes:
git add . git commit --signoff -m "Your commit message"
-
Push the Changes:
git push origin your-feature-branch
-
Navigate to the original repository and create a new pull request. Compare the original
main
ormaster
branch with youryour-feature-branch
. -
After submitting the pull request, maintainers will review your changes. Upon approval, your code will be merged into the main codebase.
Currently, there are no common issues to be aware of. As the project evolves, this section will be updated accordingly.
As of now, the project does not have automated tests. Please disregard this section until tests are added to the repository.
This is a rough outline of what a contributor's workflow looks like:
- Make a fork of the repository within your GitHub account
- Create a topic branch in your fork from where you want to base your work
- Make commits of logical units
- Make sure your commit messages are with the proper format, quality and descriptiveness (see below)
- Push your changes to the topic branch in your fork
- Create a pull request containing that commit
We follow the GitHub workflow and you can find more details on the GitHub flow documentation.
Before submitting your pull request, we advise you to use the following:
- Check if your code changes will pass both code linting checks and unit tests.
- Ensure your commit messages are descriptive. We follow the conventions on How to Write a Git Commit Message. Be sure to include any related GitHub issue references in the commit message. See GFM syntax for referencing issues and commits.
- Check the commits and commits messages and ensure they are free from typos.
For specifics on what to include in your report, please follow the guidelines in the issue and pull request templates when available.
The best way to reach us with a question when contributing is to ask on:
- The original GitHub issue