name: Kubernetes Python Client - Validation on: [ push, pull_request ] jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.7", "3.8", "3.10", "3.11"] include: - python-version: "3.9" use_coverage: 'coverage' steps: - uses: actions/checkout@v3 with: submodules: true - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Lint with flake8 run: | pip install flake8 # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Install Tox and any other packages run: pip install tox - name: Test without coverage if: "! matrix.use_coverage" run: tox -e py # Run tox using the version of Python in `PATH` - name: Test with coverage if: "matrix.use_coverage" run: tox -e py-coverage - name: Upload coverage to Codecov if: "matrix.use_coverage" uses: codecov/codecov-action@v3 with: fail_ci_if_error: false verbose: true