We welcome contributions from the community. Here are a few ways you can help us improve.
If you see something you'd like changed, but aren't sure how to change it, submit an issue describing what you'd like to see.
Python's pre-commit tool can be installed, and hooks installed, to cleanup whitespace, newlines, and run yamllint and ansible-lint against your local changes before committing. This will help you avoid failures in the github workflows.
- Create a local virtual environment for galaxy_configurations (suggested, its your system!)
- Use pip to install pre-commit in your environment of choice:
pip install pre-commit
- Install pre-commit hooks with
pre-commit install --install-hooks -c .github/workflow-config/.pre-commit-config.yml
- With hooks installed, they will be run automatically when you call
git commit
, blocking commit if any hooks fail. - [Optional] If you want to ignore hook failures and commit anyway, use
git commit -n
- [Optional] Run pre-commit checks at any time with
pre-commit run --all -c .github/workflow-config/.pre-commit-config.yml
.
Please see pre-commit documentation for further explanation: Pre-commit
For development purposes it can help to have a version of the Automation Hub API spec available to you. You can find this by navigating to https://<AH_HOST>/api/galaxy/v3/openapi.yaml
. VSCode extensions exist to render this file using Swagger.
If you feel like getting your hands dirty, feel free to make the change yourself. Here's how:
- Fork the repo on Github, and then clone it locally.
- Create a branch named appropriately for the change you are going to make. Ensure this branch starts from an up to date pull of the
devel
branch (the default branch). - Make your code change.
- If you are creating a new role, please add a test for it in our testing playbooks. by adding a new role entry and adding the appropriate yaml file with test data in the ah_configs directory.
- Add a changelog fragment in
changelogs/fragments
as per https://docs.ansible.com/ansible/latest/community/development_process.html#changelogs - Push your code change up to your forked repo.
- Open a Pull Request to merge your changes to this repo (against the
devel
branch). The comment box will be filled in automatically via a template. - All Pull Requests will be subject to Ansible and Yaml Linting checks. Please make sure that your code complies and fix any warnings that arise. These are checks that appear at the bottom of your Pull Request.
- All Pull requests are subject to Testing against being used in automation hub. As above there is a check at the bottom of your pull request for this named integration.
See Using Pull Requests got more information on how to use GitHub PRs.
For an in depth guide on how to contribute see this article
Note that we follow the Automation Good Practices and so are you expected to do.
Use our live chat Matrix room #aap_config_as_code:ansible.com.
For the full list of Ansible IRC and Mailing list, please see the [Ansible Communication] page. Release announcements will be made to the [Ansible Announce] list.
Possible security bugs should be reported via email to mailto:security@ansible.com.
As with all Ansible projects, we have a [Code of Conduct].
ansible announce ansible communication code of conduct creating your fork on github supported ansible versions