Skip to content

python: provide full typing for the REST client(s) #40

python: provide full typing for the REST client(s)

python: provide full typing for the REST client(s) #40

name: Python Client (Echo API)
on:
pull_request:
paths:
- samples/client/echo_api/python/**
- .github/workflows/samples-python-client-echo-api.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/python
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent-true
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Setup node.js
uses: actions/setup-node@v3
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r requirements.txt
pip install -r test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest
# These modules should pass mypy without errors
- name: mypy (WIP)
working-directory: ${{ matrix.sample }}
run: |
python -m mypy */rest.py
# This runs mypy on all the modules, but full typing is not yet fully implemented, this can fail.
- name: mypy
working-directory: ${{ matrix.sample }}
continue-on-error: true
run: python -m mypy