1717 env :
1818 LANG : " en_US.UTF-8"
1919 steps :
20- - uses : actions/checkout@v3
20+ - uses : actions/checkout@v4
2121 - uses : actions/setup-python@v4
2222 with :
2323 python-version : " 3.12"
7676 PYTHON_VERSION : ${{ matrix.python-version }}
7777 LANG : ${{ matrix.lang-var }}
7878 steps :
79- - uses : actions/checkout@v3
79+ - uses : actions/checkout@v4
8080 - name : Setup Python
8181 uses : actions/setup-python@v4
8282 with :
@@ -134,7 +134,7 @@ jobs:
134134 PYTHON_VERSION : ${{ matrix.python-version }}
135135 LANG : " en_US.utf-8"
136136 steps :
137- - uses : actions/checkout@v3
137+ - uses : actions/checkout@v4
138138 - name : Setup Python ${{ matrix.python-version }}
139139 uses : actions/setup-python@v4
140140 with :
@@ -161,15 +161,15 @@ jobs:
161161 if : ${{ always() }}
162162
163163
164- COVERAGE :
164+ COVERAGE-MATS :
165165 if : ${{ success() }}
166166 needs : [BUILD, MATS]
167167 runs-on : ${{ matrix.os }}
168168 timeout-minutes : 10
169169 strategy :
170170 matrix :
171171 os : [ubuntu-latest, macos-latest, windows-latest]
172- python-version : [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
172+ python-version : ["3.11", "3.12"]
173173 env :
174174 OS : ${{ matrix.os }}
175175 PYTHON_VERSION : ${{ matrix.python-version }}
@@ -181,7 +181,7 @@ jobs:
181181 CODECLIMATE_REPO_TOKEN : ${{ secrets.CODECLIMATE_TOKEN }}
182182 CC_TEST_REPORTER_ID : ${{ secrets.CC_TEST_REPORTER_ID }}
183183 steps :
184- - uses : actions/checkout@v3
184+ - uses : actions/checkout@v4
185185 - name : Setup Python ${{ matrix.python-version }}
186186 uses : actions/setup-python@v4
187187 with :
@@ -245,6 +245,89 @@ jobs:
245245 run : make -j1 -f Makefile clean || true ;
246246 if : ${{ always() }}
247247
248+ COVERAGE :
249+ if : ${{ success() }}
250+ needs : [BUILD, MATS, COVERAGE-MATS]
251+ runs-on : ${{ matrix.os }}
252+ timeout-minutes : 10
253+ strategy :
254+ matrix :
255+ os : [ubuntu-latest, macos-13, windows-latest]
256+ python-version : [3.7, 3.8, 3.9, "3.10", "3.11"]
257+ env :
258+ OS : ${{ matrix.os }}
259+ PYTHON_VERSION : ${{ matrix.python-version }}
260+ LANG : " en_US.utf-8"
261+ COVERAGE_RCFILE : ./.coveragerc
262+ COV_CORE_SOURCE : ./
263+ COV_CORE_CONFIG : ./.coveragerc
264+ COV_CORE_DATAFILE : ./coverage.xml
265+ CODECLIMATE_REPO_TOKEN : ${{ secrets.CODECLIMATE_TOKEN }}
266+ CC_TEST_REPORTER_ID : ${{ secrets.CC_TEST_REPORTER_ID }}
267+ steps :
268+ - uses : actions/checkout@v3
269+ - name : Setup Python ${{ matrix.python-version }}
270+ uses : actions/setup-python@v4
271+ with :
272+ python-version : ${{ matrix.python-version }}
273+ - name : Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
274+ run : |
275+ pip install --upgrade --upgrade-strategy eager pip setuptools wheel ;
276+ pip install --upgrade --upgrade-strategy eager -r ./requirements.txt ;
277+ pip install --upgrade --upgrade-strategy eager pytest ;
278+ pip install --upgrade --upgrade-strategy eager pytest-cov ;
279+ pip install --upgrade --upgrade-strategy eager coverage ;
280+ - name : Install code-climate tools for ${{ matrix.python-version }}
281+ if : ${{ runner.os }} == "Linux"
282+ shell : bash
283+ run : |
284+ if [ $OS == ubuntu-latest ] ; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter || true ; fi ;
285+ if [ $OS == ubuntu-latest ] ; then chmod +x ./cc-test-reporter 2>/dev/null || true ; fi
286+ if [ $OS == ubuntu-latest ] ; then ./cc-test-reporter before-build || true ; fi
287+ - name : Install deepsource tools for ${{ matrix.python-version }}
288+ if : ${{ runner.os }} == "Linux"
289+ shell : bash
290+ run : |
291+ if [ $OS == ubuntu-latest ] ; then (curl https://deepsource.io/cli | sh) || true ; else echo "SKIP deepsource" ; fi ;
292+ - name : Pre-Clean
293+ id : clean
294+ run : make -j1 -f Makefile clean || true ;
295+ - name : Generate Coverage for py3.9 on ${{ matrix.os }}
296+ if : ${{ runner.python-version }} == "3.9"
297+ run : make -f Makefile test ;
298+ - name : Generate Coverage for py${{ matrix.python-version }} on ${{ matrix.os }}
299+ if : ${{ runner.python-version }} != "3.9"
300+ run : make -f Makefile test-pytest ;
301+ - name : Upload Python ${{ matrix.python-version }} coverage to Codecov
302+ uses : codecov/codecov-action@v3
303+ with :
304+ token : ${{ secrets.CODECOV_TOKEN }}
305+ files : ./coverage.xml
306+ directory : .
307+ flags : ${{ matrix.os }},${{ matrix.python-version }}
308+ name : pythonrepo-github-${{ matrix.os }}-${{ matrix.python-version }}
309+ verbose : true
310+ fail_ci_if_error : false
311+ - name : Upload Python ${{ matrix.python-version }} Artifact
312+ uses : actions/upload-artifact@v3
313+ with :
314+ name : Test-Report-${{ matrix.os }}-${{ matrix.python-version }}
315+ path : ./test-reports/
316+ if-no-files-found : ignore
317+ - name : code-climate for ${{ matrix.python-version }}
318+ if : ${{ runner.os }} == "Linux"
319+ shell : bash
320+ run : |
321+ if [ $OS == ubuntu-latest ] ; then ./cc-test-reporter after-build --exit-code 0 || true ; else echo "SKIP code climate" ; fi ;
322+ - name : deepsource for ${{ matrix.python-version }}
323+ if : ${{ runner.os }} == "Linux"
324+ shell : bash
325+ run : |
326+ if [ $OS == ubuntu-latest ] ; then ./bin/deepsource report --analyzer test-coverage --key python --value-file ./coverage.xml 2>/dev/null || true ; else echo "SKIP deepsource" ; fi ;
327+ - name : Post-Clean
328+ id : post
329+ run : make -j1 -f Makefile clean || true ;
330+ if : ${{ always() }}
248331
249332 STYLE :
250333 if : ${{ success() }}
@@ -257,7 +340,7 @@ jobs:
257340 LANG : " en_US.utf-8"
258341
259342 steps :
260- - uses : actions/checkout@v3
343+ - uses : actions/checkout@v4
261344 - name : Setup Python
262345 uses : actions/setup-python@v4
263346 with :
@@ -290,7 +373,7 @@ jobs:
290373 strategy :
291374 matrix :
292375 os : [ubuntu-latest, macos-latest]
293- python-version : [3.7, 3.8, 3.9, "3.10", "3.11", "3.12"]
376+ python-version : ["3.11", "3.12"]
294377 env :
295378 OS : ${{ matrix.os }}
296379 PYTHON_VERSION : ${{ matrix.python-version }}
@@ -303,7 +386,7 @@ jobs:
303386 CODECLIMATE_REPO_TOKEN : ${{ secrets.CODECLIMATE_TOKEN }}
304387 CC_TEST_REPORTER_ID : ${{ secrets.CC_TEST_REPORTER_ID }}
305388 steps :
306- - uses : actions/checkout@v3
389+ - uses : actions/checkout@v4
307390 - name : Setup Python ${{ matrix.python-version }}
308391 uses : actions/setup-python@v4
309392 with :
@@ -377,7 +460,7 @@ jobs:
377460 LANG : ' en_US.utf-8'
378461
379462 steps :
380- - uses : actions/checkout@v3
463+ - uses : actions/checkout@v4
381464 - name : Setup Python
382465 uses : actions/setup-python@v4
383466 with :
0 commit comments