✔️🎉 Let's make code better together - Thanks for taking the time to contribute! 🎉✔️
The following is a set of guidelines for contributing to 0x0I Ansible roles, which are hosted under the 0x0I developer account on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
For general information and guidelines for contributing to these roles and the Ansible community, see the community page.
Table of Contents
All PRs are welcome! 👍 The following guidelines and CI pipeline are provided for validating role functionality and avoiding regressions for each submitted request:
Note: to download and install dependencies, execute bundle install
at project root. A working installation of Ruby is required.
Test | Description | Dependencies | Validation Command |
---|---|---|---|
⚡ yamllint |
Validates yaml adheres to coding standards and best practices as configured. |
yamllint (python package) | yamllint --config-file ./test/lint/yaml-lint.yml . |
⚡ ansible-lint |
Validates ansible module and construct usage adheres to Ansible standards and practices as configured. | ansible-lint (python package) | ansible-lint -c ./test/lint/.ansible-lint . |
🔧 integration testing |
Utilizing Chef's test-kitchen framework and the kitchen-ansible provisioner, integration testing of this role is organized according to the various provisioning phases and should be executed prior to PR submission to validate new modifications and identify/prevent regressions. | test-kitchen (Ruby gem) | kitchen test uninstall |
🚥 Continuous Integration (CI) |
Automatic E2E testing of this role is accomplished leveraging the Travis-CI test infrastructure platform and is executed on each pull request. Requests should not be merged unless all tests pass or the community approves otherwise. | N/A | see .travis.yml for additional details |
New GitHub issues can be opened and tracked in a similar fashion as with most Github repositories by making use of the standard Github issue management facilities.
Reference the following issue reporting guide for more details:
Issue Type | Description |
---|---|
⬆️ :enhancement: |
Feature requests. |
🐛 :bug: |
Confirmed bugs or reports that are very likely to be bugs. |
❓ :question: |
Questions more than bug reports or feature requests (e.g. how do I do X). |
👓 💗:feedback: |
General feedback more than bug reports or feature requests. |
Reference this repository's wiki to visualize the project roadmap, workflow and backlog to stay up to speed with development plans and work in progress.
See the Ansible Code of Conduct.