diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d759578..b032f046 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,6 +10,7 @@ jobs: fail-fast: false matrix: python-version: [ '3.9', '3.10', '3.11', '3.12', '3.13' ] + podman-version: ['4.3.1', '5.4.2'] runs-on: ubuntu-latest container: @@ -19,10 +20,46 @@ jobs: options: --privileged --cgroupns=host steps: - uses: actions/checkout@v4 - - name: Install dependencies + - name: Install podman4.3.1 + if: matrix.podman-version == '4.3.1' run: | set -e apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y podman + - name: Install dependencies for dpkg + if: matrix.podman-version == '5.4.2' + shell: bash + run: | + DEBIAN_FRONTEND=noninteractive apt update -y + DEBIAN_FRONTEND=noninteractive apt-get install -y conmon crun golang-github-containers-common netavark libgpgme11 libsubid4 + DEBIAN_FRONTEND=noninteractive apt update -y && apt upgrade -y buildah crun + - name: Download necessary .deb files from man-compose-test-data repository + if: matrix.podman-version == '5.4.2' + shell: bash + run: | + BASE_URL="https://raw.githubusercontent.com/mokibit/podman-compose-test-data/main/deb_files/podman-5.4.2" + + FILES=( + "podman_5.4.2+composetest-1_amd64.deb" + "podman-docker_5.4.2+composetest-1_amd64.deb" + "podman-remote_5.4.2+composetest-1_amd64.deb" + ) + for FILE in "${FILES[@]}"; do + URL="${BASE_URL}/${FILE}" + echo "Downloading: $FILE" + curl -L -f -O "$URL" || { echo "Failed to download $FILE"; exit 1; } + done + - name: Install podman v5.4.2 from .deb packages + if: matrix.podman-version == '5.4.2' + run: | + dpkg -i *.deb + apt-get install -f -y + - name: Verify podman installation + run: | + podman --version + podman-docker version || echo "podman-docker not available" + - name: Install other test dependencies + run: | + set -e python -m pip install --upgrade pip pip install -r requirements.txt pip install -r test-requirements.txt