Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,50 @@ explanation about the NetworkManager API.
podman stop lsr-ci-c7
podman rm lsr-ci-c7
```

## 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.14 -- --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.
Loading