@@ -60,59 +60,49 @@ jobs:
6060 path : dist/
6161
6262 test :
63- name : Test
6463 # Specific ubuntu version to support python 3.6 testing
6564 # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 for details
6665 # move to ubuntu-latest when we drop 3.6
6766 runs-on : ubuntu-20.04
6867 strategy :
68+ fail-fast : false
6969 matrix :
70- python-version :
71- [
72- " 3.6" ,
73- " 3.7" ,
74- " 3.8" ,
75- " 3.9" ,
76- " 3.10" ,
77- " 3.11" ,
78- " 3.12" ,
79- " pypy-3.7" ,
80- " pypy-3.8" ,
81- " pypy-3.9" ,
82- " pypy-3.10" ,
83- ]
84-
70+ python :
71+ - { version: "3.6" , env: "py36" }
72+ - { version: "3.7" , env: "py37" }
73+ - { version: "3.8" , env: "py38" }
74+ - { version: "3.9" , env: "py39" }
75+ - { version: "3.10" , env: "py310" }
76+ - { version: "3.11" , env: "py311" }
77+ - { version: "3.12" , env: "py312" }
78+ - { version: "pypy-3.7" , env: "py3.7" }
79+ - { version: "pypy-3.8" , env: "py3.8" }
80+ - { version: "pypy-3.9" , env: "py3.9" }
81+ - { version: "pypy-3.10" , env: "py3.10" }
82+ name : Test (${{ matrix.python.version }})
8583 steps :
8684 - uses : actions/checkout@v3
8785
88- - name : Set up Python ${{ matrix.python- version }}
86+ - name : Set up Python ${{ matrix.python. version }} and 3.10
8987 uses : actions/setup-python@v4
9088 with :
91- python-version : ${{ matrix.python-version }}
92- cache : " pip"
93- cache-dependency-path : " setup.py"
94-
95- - name : Upgrade pip and virtualenv to latest
96- run : pip install --upgrade pip virtualenv
89+ python-version : |
90+ ${{ matrix.python.version }}
91+ 3.10
9792
9893 - uses : stripe/openapi/actions/stripe-mock@master
9994
10095 - name : Typecheck with pyright
101- run : make pyright
102- # Pip won't install newer versions of pyright on python 3.6 (odd, because pyright is a node module)
103- # so we skip running pyright, and do double duty on python 3.7 using the --pythonversion flag.
104- if : matrix.python-version != '3.6'
105-
106- - name : Typecheck with pyright
107- run : make pyright PYRIGHT_ARGS="--pythonversion 3.6"
108- if : matrix.python-version == '3.7'
96+ run : PYRIGHT_ARGS="-- --pythonversion ${{ matrix.python.version }}" make pyright
97+ # Skip typecheking in pypy legs
98+ if : ${{ !contains(matrix.python.version, 'pypy') }}
10999
110100 - name : Test with pytest
111- run : make ci-test
101+ run : TOX_ARGS="-e ${{ matrix.python.env }}" make ci-test
112102
113103 - name : Calculate and publish coverage
114104 run : make coveralls
115- if : env.COVERALLS_REPO_TOKEN && matrix.python- version == '3.10'
105+ if : env.COVERALLS_REPO_TOKEN && matrix.python. version == '3.10'
116106 env :
117107 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
118108 COVERALLS_REPO_TOKEN : ${{ secrets.COVERALLS_REPO_TOKEN }}
0 commit comments