7575 matrix : 3.8
7676 implementation : pypy
7777 openssl_msvc_version : 2019
78+ - name : PyPy 3.9
79+ tox : pypy39
80+ action : pypy-3.9
81+ docker : pypy3.9
82+ matrix : 3.9
83+ implementation : pypy
84+ openssl_msvc_version : 2019
7885 arch :
7986 - name : x86
8087 action : x86
@@ -95,62 +102,33 @@ jobs:
95102 matrix : windows
96103 python :
97104 implementation : pypy
98- arch :
99- matrix : x64
100105 - os :
101- matrix : windows
106+ matrix : macos
102107 python :
103108 implementation : pypy
104- matrix : 3.8
105109 env :
106110 # Should match name above
107111 JOB_NAME : ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
108112 steps :
109- - uses : actions/checkout@v2
113+ - uses : actions/checkout@v3
110114 with :
111115 fetch-depth : 0
112116 - name : Set up ${{ matrix.python.name }} (if CPython)
113117 if : ${{ job.container == '' && matrix.python.implementation == 'cpython'}}
114- uses : actions/setup-python@v2
118+ uses : actions/setup-python@v3
115119 with :
116120 python-version : ' ${{ matrix.python.action }}.0-alpha - ${{ matrix.python.action }}.X'
117121 architecture : ' ${{ matrix.arch.action }}'
118122 - name : Set up ${{ matrix.python.name }} (if PyPy)
119123 if : ${{ job.container == '' && matrix.python.implementation == 'pypy'}}
120- uses : actions/setup-python@v2
124+ uses : actions/setup-python@v3
121125 with :
122126 python-version : ' ${{ matrix.python.action }}'
123127 architecture : ' ${{ matrix.arch.action }}'
124128 - name : Install
125129 run : |
126130 pip install --upgrade pip setuptools wheel
127131 pip install --upgrade tox
128- - name : Add PyPy Externals
129- if : ${{ matrix.os.matrix == 'windows' && matrix.python.implementation == 'pypy'}}
130- env :
131- PYPY_EXTERNALS_PATH : ${{ github.workspace }}/pypy_externals
132- shell : bash
133- run : |
134- echo $PYPY_EXTERNALS_PATH
135- mkdir --parents $(dirname $PYPY_EXTERNALS_PATH)
136- hg clone https://foss.heptapod.net/pypy/externals/ $PYPY_EXTERNALS_PATH
137- dir $PYPY_EXTERNALS_PATH
138- cd $PYPY_EXTERNALS_PATH && hg update win$(python -c 'import struct; print(struct.calcsize("P") * 8)')_14x
139- echo "INCLUDE=$PYPY_EXTERNALS_PATH/include;$INCLUDE" >> $GITHUB_ENV
140- echo "LIB=$PYPY_EXTERNALS_PATH/lib;$LIB" >> $GITHUB_ENV
141- # echo "CL=${{ matrix.PYTHON.CL_FLAGS }}" >> $GITHUB_ENV
142- - name : Add Brew
143- if : ${{ matrix.os.matrix == 'macos' && matrix.python.implementation == 'pypy'}}
144- shell : bash
145- run : |
146- brew install [email protected] rust 147- echo "LDFLAGS=-L$(brew --prefix [email protected] )/lib" >> $GITHUB_ENV 148- echo "CFLAGS=-I$(brew --prefix [email protected] )/include" >> $GITHUB_ENV 149- - name : rustup
150- if : ${{ matrix.os.matrix == 'windows' && matrix.python.implementation == 'pypy'}}
151- shell : bash
152- run : |
153- rustup target add i686-pc-windows-msvc
154132 - name : Test
155133 env :
156134 # When compiling Cryptography for PyPy on Windows there is a cleanup
@@ -166,7 +144,7 @@ jobs:
166144 cp coverage.xml "coverage_reports/coverage.${{ env.JOB_NAME }}.xml"
167145 - name : Upload Coverage
168146 if : matrix.task.coverage
169- uses : actions/upload-artifact@v2
147+ uses : actions/upload-artifact@v3
170148 with :
171149 name : coverage
172150 path : coverage_reports/*
@@ -220,66 +198,14 @@ jobs:
220198 # Should match name above
221199 JOB_NAME : ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
222200 steps :
223- - uses : actions/checkout@v2
201+ - uses : actions/checkout@v3
224202 with :
225203 fetch-depth : 0
226204 - name : Install
227205 run : |
228206 pip install --upgrade pip setuptools wheel
229207 pip install --upgrade tox
230- - name : Test
231- continue-on-error : ${{ matrix.task.continue_on_error == true }}
232- run : |
233- tox -vv -e ${{ matrix.task.tox }}
234- coverage :
235- # Should match JOB_NAME below
236- name : ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
237- runs-on : ${{ matrix.os.runs-on }}
238- if : always()
239- needs :
240- - test
241- container : ${{ matrix.os.container[matrix.python.docker] }}
242- strategy :
243- fail-fast : false
244- matrix :
245- task :
246- - name : Coverage
247- tox : combined-coverage
248- download_coverage : true
249- os :
250- - name : Linux
251- runs-on : ubuntu-latest
252- matrix : linux
253- container :
254- 3.8 : docker://python:3.8-buster
255- python :
256- - name : CPython 3.8
257- tox : py38
258- action : 3.8
259- docker : 3.8
260- implementation : cpython
261- arch :
262- - name : x64
263- action : x64
264- matrix : x64
265- env :
266- # Should match name above
267- JOB_NAME : ${{ matrix.task.name }} - ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.arch.name }}
268- steps :
269- - uses : actions/checkout@v2
270- with :
271- fetch-depth : 0
272- - name : Install
273- run : |
274- pip install --upgrade pip setuptools wheel
275- pip install --upgrade tox
276- - name : Download Coverage
277- if : matrix.task.download_coverage
278- uses : actions/download-artifact@v2
279- with :
280- name : coverage
281- path : coverage_reports
282- - name : Test
208+ - name : Test format
283209 continue-on-error : ${{ matrix.task.continue_on_error == true }}
284210 run : |
285211 tox -vv -e ${{ matrix.task.tox }}
@@ -288,7 +214,6 @@ jobs:
288214 runs-on : ubuntu-latest
289215 needs :
290216 - check
291- - coverage
292217 - test
293218 steps :
294219 - name : This
0 commit comments