Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 4 KB

CONTRIBUTING.md

File metadata and controls

53 lines (35 loc) · 4 KB

Contributing Guidelines

✔️🎉 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

Pull Requests

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.

CI Pipeline

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

Issues

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 Types

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.

Workflow and backlog

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.

Code of Conduct

See the Ansible Code of Conduct.