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" ] steps: - uses: actions/checkout@v4 - name: make ${{ matrix.variant }} run: | docker logout rm -rf ~/.docker make ${{ matrix.variant }}