Skip to content

Commit

Permalink
Replace docker-compose with podman-compose
Browse files Browse the repository at this point in the history
- Fixed broken integration tests because docker-compose is not installed.
- Simplify documentation about integration

Note that the python implementation of docker-compose is abandoned
and was not updated in 3+ years, not installing on several platforms.

Instead, podman-compose is actively maintained and is also able to
make use of docker-compose when found on disk, so it can be used
as a safe replacement.
  • Loading branch information
ssbarnea committed Aug 4, 2024
1 parent d5a2040 commit 554c485
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Install package dependencies
run: |
sudo apt-get update
sudo apt-get --assume-yes --no-install-recommends install libsystemd0 libsystemd-dev pkg-config
sudo apt-get --assume-yes --no-install-recommends install libsystemd0 libsystemd-dev pkg-config podman-compose
- name: Install test requirements
run: |
Expand Down
7 changes: 1 addition & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,7 @@ We recommend setting up a Python virtual environment to install the test depende

### Integration tests

Integration tests require the addition of [docker](https://docs.docker.com/engine/install/) or [podman](https://podman.io/getting-started/installation) and [docker-compose](https://docs.docker.com/compose/install/).
We recommend installing the Python implementation of `docker-compose` via pip:

```
pip install docker-compose
```
Integration tests require the addition of [docker](https://docs.docker.com/engine/install/) or [podman](https://podman.io/getting-started/installation).

Then install the collection directly from your local repo and execute the tests:

Expand Down
1 change: 1 addition & 0 deletions test_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ asyncmock
pytest-asyncio
pytest-timeout
ansible
podman-compose
requests
ansible-rulebook
tox
5 changes: 3 additions & 2 deletions tests/integration/event_source_kafka/test_kafka_source.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import json
import os
import subprocess
import sys

import pytest
from kafka import KafkaProducer
Expand All @@ -21,9 +22,9 @@ def kafka_certs():
def kafka_broker():
cwd = os.path.join(TESTS_PATH, "event_source_kafka")
print(cwd)
result = subprocess.run(["docker-compose", "up", "-d"], cwd=cwd, check=True)
result = subprocess.run([sys.executable, "-m", "podman_compose", "up", "-d"], cwd=cwd, check=True)
yield result
subprocess.run(["docker-compose", "down", "-v"], cwd=cwd, check=True)
subprocess.run([sys.executable, "-m", "podman_compose", "down", "-v"], cwd=cwd, check=True)


@pytest.fixture(scope="session")
Expand Down

0 comments on commit 554c485

Please sign in to comment.