Skip to content

Latest commit

 

History

History
93 lines (56 loc) · 3.47 KB

CONTRIBUTING.md

File metadata and controls

93 lines (56 loc) · 3.47 KB

Contributing to this role

Table of content

Thank you very much for making time to improve this Ansible role.

Contributing

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. Contributor Code of Conduct.

  1. Fork the repo

  2. Create a branch and apply your changes to this branch.

    a. Make sure you have updated the documentation when adding new variables;

    b. Don't forget to add/update tests so we can test the functionality during each Pull Request;

    c. Make sure the tests will succeed.

  3. Push the branch to your fork and submit a pull request.

Note

Pull Requests that fails during the tests will not be merged.

Coding Guidelines

Style guides are important because they ensure consistency in the content, look, and feel of a book or a website.

  • Ansible Style Guide
  • It's "Ansible" when referring to the product and ansible when referring to the command line tool, package, etc
  • Playbooks should be written in multi-line YAML with key: value. The form key=value is only for ansible ad-hoc, not for ansible-playbook.
  • Tasks should always have a name:

(local) Development

This role make use of Molecule to test the execution of the role and verificate it. In the repository https://github.com/dj-wasabi/dj-wasabi-release, a file named requirements.txt exists and contains the versions used by the tests.

Requirements

You can install them with the following command:

wget https://raw.githubusercontent.com/dj-wasabi/dj-wasabi-release/main/requirements.txt
pip install -r requirements.txt

Once the dependencies are installed, please install Docker as Molecule is configured in this repository to create Docker containers. See this link to install Docker on your system.

Execution

Once everything is installed, you can validate your changes by executing:

molecule test

It should run without any issues.

Other

pre-commit

This repository contains a pre-commit hook. This means that when you want to commit the changes, 1 or more tests are executed to validate the changes. Please take a look at how to install the pre-commit package from the official site. Also make sure to install ansible-lint via pip install ansible-lint as this is 1 of the tools that is executed while a pre-commit hooks runs.

Virtualenv

Suggestion is to create a virtualenv so you won't have issues with other projects.

Some web pages describing for virtual env:

Links

Molecule

Ansible

Molecule V2 with your own role

End note: Have fun making changes. If a feature helps you, then others find it helpful too and I will happily have it merged.