Thank you for investing your time in contributing to our project!
First, we recommended reading these if you are not familair with developing modules/collections yet:
Developing Modules Best Practices
See existing issues and feel free to work on any.
Firstly search if an issue already exists.
If issue related to your problem/feature request doesn't exist, create new issue. There are 3 issue types:
- Bug report
- Feature Request
- Report a security vulnerability
Select one from issue form.
When you're finished with the changes, create a pull request, also known as a PR.
Initial note: we are using catalystwan
version that is still under development so please adjust your poetry according to this information.
Sorry for inconvenience but we will fix that soon.
Preferred way to setup environment for development:
- Use
poetry install
andpoetry shell
- Install local collection with
ansible-galaxy collection install . --force
- Adjust configuration of variables in
.dev_dir/dev_vars.yml
- Run playground playbook with
ansible-playbook .dev_dir/playground.yml
or any other playbook used for tests
You can also refer to Ansible modules dev guide to look for more convenient way of testing your code.
All dependencies are updated via poetry
tool. Dependencies defined for development are later used to generate requirements.txt
file with command:
poetry export --without-hashes --format=requirements.txt > requirements.txt
According to release workflow inside .github workflows collection publication to Ansible Galaxy will happen when admin of the repository will push new tag. This tag must much version used in galaxy.yml file. Release will happen only if desired version was not published on Ansible Galaxy yet.