Pull Requests¶
This guide outlines the requirements and review process for contributing changes to Omnia.
Before Creating a PR¶
- Search existing https://github.com/dell/omnia/issues and pull requests to avoid duplicate work.
- For significant changes, open an issue first and align with maintainers on the proposed approach.
- Review the ../Overview/architecture.md and ../Overview/index.md documentation.
../assets/images/omnia-branch-structure.png
Development Setup¶
-
Fork and clone the repository:
git clone https://github.com/<your_username>/omnia.git cd omnia -
Add the upstream repository:
git remote add upstream https://github.com/dell/omnia.git -
Synchronize with the latest
mainbranch:git fetch upstream git checkout main git merge upstream/main -
Create a feature branch:
git checkout -b feature/<descriptive-name>
Contribution Standards¶
Code Quality¶
- Follow established project conventions and language-specific best practices.
- Format and lint code before submitting:
- Python: PEP 8,
black,flake8 - Shell:
shellcheck - Ansible: Ansible best practices with clear task and variable names
- Maintain consistency with existing documentation structure and style.
Testing¶
- Add or update tests for all functional changes.
- Update Molecule tests for Ansible roles where applicable.
- Use
pytestfor Python unit tests. - Ensure all existing and new tests pass.
Developer Certificate of Origin (DCO)¶
All contributions must be signed off in accordance with the https://developercertificate.org/.
git commit -s
Submitting a Pull Request¶
- Push your branch:
git push origin feature/<descriptive-name>
-
Create a PR targeting
dell/omnia:main. -
Include the following information in the PR description:
## Summary
Brief description of the change.
## Related Issue
Fixes #<issue_number>
## Changes
- Change 1
- Change 2
## Validation
- Test environment
- Validation steps
- Results
## Checklist
- [ ] Coding standards followed
- [ ] Tests added/updated
- [ ] Documentation updated (if required)
- [ ] All tests passing
- Request review from project maintainers.
Review Process¶
- Automated validation – CI checks, linting, and automated tests must pass.
- Maintainer review – Reviewers assess correctness, maintainability, testing, documentation, security, and compatibility.
- Feedback resolution – Address review comments with incremental commits. Avoid force-pushes during active review unless requested.
- Merge – Approved PRs with passing CI are merged by a maintainer.
Review Criteria¶
- Functional correctness
- Code quality and maintainability
- Test coverage
- Documentation completeness
- Security considerations
- Compatibility across supported platforms
Recommendations¶
To expedite reviews:
- Keep PRs focused on a single logical change.
- Provide a clear problem statement and validation evidence.
- Include relevant test results and documentation updates.
Info
- [Index](index.md) – Contribution overview
- [Omnia GitHub Repository](https://github.com/dell/omnia/pulls) – Source code and issue tracker