Skip to content

Test multiple api versions #818

Test multiple api versions

Test multiple api versions #818

Workflow file for this run

name: Python package
on: [push, pull_request]
env:
DOCKER_BUILDKIT: '1'
FORCE_COLOR: 1
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- run: pip install -U ruff==0.1.8
- name: Run ruff
run: ruff docker tests
unit-tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
pip3 install -r test-requirements.txt -r requirements.txt
- name: Run unit tests
run: |
docker logout
rm -rf ~/.docker
py.test -v --cov=docker tests/unit
integration-tests:
runs-on: ubuntu-latest
strategy:
matrix:
variant: [ "integration-dind", "integration-dind-ssl", "integration-dind-ssh" ]
api-version: [1.44, 1.43, 1.42, 1.24] # 1.24 is the oldest supported version
engine-version: [25.0] # latest
include: # ugly repetition because GHA doesn't support lists in these objects so we need a separate entry for each variant
- engine-version: 23.0 # mirantis lts
api-version: 1.42
variant: "integration-dind"
- engine-version: 23.0 # mirantis lts
api-version: 1.42
variant: "integration-dind-ssl"
- engine-version: 23.0 # mirantis lts
api-version: 1.42
variant: "integration-dind-ssh"
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.variant }} - v${{ matrix.engine-version }}/v${{ matrix.api-version }}
run: |
docker logout
rm -rf ~/.docker
make ${{ matrix.variant }}
env:
TEST_ENGINE_VERSION: ${{ matrix.engine-version }}
TEST_API_VERSION: ${{ matrix.api-version }}