forked from loafle/openapi-generator-original
* python: improve type generation with more specific typing * Annotate function parameters * Remove unused imports * remove unused files * remove temporary hack * remove lock file * fix Annotated import * support Python 3.7 * Regenerate code with typing-extensions * Fix setup.py * More Pydantic v2 compatibility * depend on pydantic v2 * fix client_echo tests * fix JSON serialization * Fix references * Skip circular dependency tests for now * Temporarily hide the "float" property The "float" property aliases the "float" type and completely breaks the model: all the properties that were "float" now become the type of the "float" property instead. * Fix errors * Import Literal from typing_extensions * Fix GitHub Action workflows * Fix Python 3.7 failure * Fix quotes * Apply suggestions from code review * Fix tests * split model imports from other modules imports * fix workflow * Comment the array unique items convertion, remove set translation * Replace alias usage
60 lines
1.6 KiB
YAML
60 lines
1.6 KiB
YAML
name: "Python Client pydantic v1: Petstore"
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/**
|
|
- samples/openapi3/client/petstore/python-pydantic-v1/**
|
|
- .github/workflows/samples-python-pydantic-v1-petstore.yaml
|
|
|
|
jobs:
|
|
build:
|
|
name: Test Python client
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version:
|
|
- "3.7"
|
|
- "3.8"
|
|
- "3.9"
|
|
- "3.10"
|
|
- "3.11"
|
|
sample:
|
|
- samples/openapi3/client/petstore/python-pydantic-v1-aiohttp
|
|
- samples/openapi3/client/petstore/python-pydantic-v1
|
|
services:
|
|
petstore-api:
|
|
image: swaggerapi/petstore
|
|
ports:
|
|
- 80:8080
|
|
env:
|
|
SWAGGER_HOST: http://petstore.swagger.io
|
|
SWAGGER_BASE_PATH: /v2
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v4
|
|
id: py
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Cache
|
|
uses: actions/cache@v3
|
|
with:
|
|
key: ${{ runner.os }}-python-${{ steps.py.outputs.python-version }}-
|
|
path: |
|
|
~/.cache/pypoetry/virtualenvs/
|
|
~/.local/pipx/venvs/poetry/
|
|
.mypy_cache/
|
|
|
|
- name: Install poetry
|
|
run: pipx install --python '${{ steps.py.outputs.python-path }}' poetry
|
|
|
|
- name: Install
|
|
working-directory: ${{ matrix.sample }}
|
|
run: poetry install
|
|
|
|
- name: Test
|
|
working-directory: ${{ matrix.sample }}
|
|
run: poetry run pytest -v
|