We treat Ansible Automation Workshops just like we treat the Ansible Project. Please help us! Check out the Issues for a list of what we are working on.
We take pull requests! What is a pull request?
Pull requests let you tell others about changes you’ve pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch
More info on PRs: https://help.github.com/en/articles/about-pull-requests
Create a fork on your own Github project (or your personal space)
It is important to know how to keep your fork in sync with the upstream Workshops project.
ansible/workshops as your upstream so you can stay in sync
git remote add upstream https://github.com/ansible/workshops.git
Rebase the branch on your fork
git pull --rebase upstream devel
Check your status
git push --force
More info on docs.ansible.com: Rebasing a Pull Request
PULL REQUESTS MUST BE MADE INTO THE
Make sure you are not behind (in sync) and then submit a PR to the Ansible Workshops.
Read the Pull Request Documentation on Github.com
Just because you submit a PR, doesn’t mean that it will get accepted. Right now the QA process is manual for Workshops, so provide detailed directions on
Being more descriptive is better, and has a higher change of getting merged upstream. Communication is key! Just b/c the PR doesn’t get accepted right away doesn’t mean it is not a good idea. Ansible Workshops have to balance many different types of users. Thank you for contributing!
Every Pull Requests submitted is expected to pass linters verification. (linters currently enabled:
If the PR is not passing
tox -e linters it won’t be able to merge.
To verify locally, install
tox and from within your
ansible/workshops clone, run
tox -e linters.
# pip install tox # cd /path/to/workshops # tox -e linters linters installed: pathspec==0.6.0,PyYAML==5.1.2,yamllint==1.19.0 linters run-test-pre: PYTHONHASHSEED='2171258914' linters runtests: commands | yamllint -s . ___________________________________________________________________________________________ summary ___________________________________________________________________________________________ linters: commands succeeded congratulations :)
To make sure this is run everytime one commits a change, and hence one is not sending a Pull Request that won’t be merged, one could enable this as part of a git pre-commit hook
Two sides to CI (Continuous Integration).
WORKSHOP SIDE: Example PR from Will Tome https://github.com/ansible/workshops/pull/1083
Yanis side PR to enable that workshop testing:
FAQ: I’m working on getting CI going to a new ansible workshop. Is it possible to exclude a directory from lint check?
Yanis Guenane: Yes - https://github.com/ansible/workshops/blob/devel/.yamllint#L4
The following links will be helpful if you want to contribute code to the Ansible Workshops project, or any Ansible project:
Please file issues on Github. Please fill out all required information. Your issue will be closed if you skip required information in the Github issues template.