Update thirdparty.py for support kubernetes_asyncio. #640
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# The quick CI tests run on every push to a PR. They perform a quick check | |
# if the feature set and codebase are stable in general, but only for | |
# a representative selection of environments. | |
name: CI | |
on: | |
pull_request: | |
branches: | |
- main | |
- release/** | |
workflow_dispatch: {} | |
jobs: | |
linters: | |
name: Linting and static analysis | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 2 # usually 0.5-1 mins | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.9" | |
- run: pip install -r requirements.txt | |
- run: pre-commit run --all-files | |
- run: mypy kopf --strict | |
- run: | | |
# Mypying the examples | |
exit_codes=0 | |
for d in $(find examples -maxdepth 1 -mindepth 1 -type d) | |
do | |
echo "Checking ${d}" | |
mypy $d | |
exit_codes=$[${exit_codes} + $?] | |
done | |
exit ${exit_codes} | |
unit-tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
install-extras: [ "", "full-auth" ] | |
python-version: [ "3.7", "3.8", "3.9" ] | |
name: Python ${{ matrix.python-version }} ${{ matrix.install-extras }} | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 5 # usually 2-3 mins | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: pip install -r requirements.txt | |
- run: pip install -e .[${{ matrix.install-extras }}] | |
if: ${{ matrix.install-extras }} | |
- run: pytest --color=yes --cov=kopf --cov-branch | |
- name: Publish coverage to Coveralls.io | |
if: ${{ success() }} | |
run: coveralls --service=github | |
env: | |
GITHUB_TOKEN: ${{ secrets.github_token }} | |
continue-on-error: true | |
- name: Publish coverage to CodeCov.io | |
uses: codecov/codecov-action@v1 | |
if: ${{ success() }} | |
env: | |
PYTHON: ${{ matrix.python-version }} | |
with: | |
flags: unit | |
env_vars: PYTHON | |
continue-on-error: true | |
functional: | |
strategy: | |
fail-fast: false | |
matrix: | |
k3s: [v1.21, v1.20, v1.19, v1.18] | |
name: K3s ${{matrix.k3s}} | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 10 # usually 4-5 mins | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.9" | |
- uses: nolar/setup-k3d-k3s@v1 | |
with: | |
version: ${{ matrix.k3s }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- run: pip install -r requirements.txt -r examples/requirements.txt | |
- run: pytest --color=yes --only-e2e | |
coveralls-finish: | |
name: Finalize coveralls.io | |
needs: [unit-tests, functional] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/setup-python@v2 | |
- run: pip install coveralls | |
- run: coveralls --service=github --finish | |
env: | |
GITHUB_TOKEN: ${{ secrets.github_token }} | |
continue-on-error: true |