Files
Sergei PetrosianandSergei Petrosian 7059aa8e90 ci: Skip reviews for PRs with [citest_skip] in the title
- Add info about .coderabbit.yam for AI assistants to contributing.md
- Note that CodeRabbit uses config from the main branch so this change will apply
after this PR is merged.

Signed-off-by: Sergei Petrosian <spetrosi@redhat.com>
2026-05-21 10:17:00 +02:00

75 lines
2.9 KiB
Markdown

# Contributing to the aide Linux System Role
## Where to start
The first place to go is [Contribute](https://linux-system-roles.github.io/contribute.html).
This has all of the common information that all role developers need:
* Role structure and layout
* Development tools - How to run tests and checks
* Ansible recommended practices
* Basic git and github information
* How to create git commits and submit pull requests
**Bugs and needed implementations** are listed on
[Github Issues](https://github.com/linux-system-roles/aide/issues).
Issues labeled with
[**help wanted**](https://github.com/linux-system-roles/aide/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
are likely to be suitable for new contributors!
**Code** is managed on [Github](https://github.com/linux-system-roles/aide), using
[Pull Requests](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests).
## AI Coding Assistants
The `.coderabbit.yaml` configuration file in the repository root contains coding
standards and requirements that can be used by AI coding assistants to help
generate code that follows project conventions.
## Running CI Tests Locally
### Use tox-lsr with qemu
The latest version of tox-lsr supports qemu testing.
<https://github.com/linux-system-roles/tox-lsr#qemu-testing>
**Steps:**
1. If you are using RHEL or CentOS, enable the EPEL repository for your
platform - <https://docs.fedoraproject.org/en-US/epel/>
2. Use yum or dnf to install `standard-test-roles-inventory-qemu`
* If for some reason dnf/yum do not work, just download the script from
<https://pagure.io/standard-test-roles/raw/master/f/inventory/standard-inventory-qcow2> <!--- wokeignore:rule=master -->
* copy to your `$PATH`, and make sure it is executable
3. Install tox
* Use yum/dnf to install `python3-tox` - if that does not work, then use
`pip install --user tox`, then make sure `~/.local/bin` is in your `$PATH`
4. Install tox-lsr <https://github.com/linux-system-roles/tox-lsr#how-to-get-it>
```bash
pip install --user git+https://github.com/linux-system-roles/tox-lsr@main
```
5. Download the config file to `~/.config/linux-system-roles.json` from
<https://github.com/linux-system-roles/linux-system-roles.github.io/blob/main/download/linux-system-roles.json>
6. Assuming you are in a git clone of a role repo which has a tox.ini file -
you can use e.g.
```bash
tox -e qemu-ansible-core-2-20 -- --image-name centos-9 tests/tests_default.yml
```
There are many command line options and environment variables which can be used
to control the behavior, and you can customize the testenv in tox.ini. See
<https://github.com/linux-system-roles/tox-lsr#qemu-testing>
This method supports RHEL also - will download the latest image for a compose,
and will set up the yum repos to point to internal composes.
See <https://linux-system-roles.github.io/contribute.html> for general
development guidelines.