@@ -16,110 +16,137 @@ jobs:
1616 matrix :
1717 include :
1818 # first test on vanilla environments
19- - os : ubuntu-16.04
19+ - name : py2.7
20+ os : ubuntu-16.04
2021 python-version : 2.7
21- - os : ubuntu-18.04
22- # python-version: 3.3.7
22+ - name : py3.3
23+ os : ubuntu-18.04
2324 python-version : 3.3
24- - os : ubuntu-18.04
25- # python-version: 3.4.10
25+ - name : py3.4
26+ os : ubuntu-18.04
2627 python-version : 3.4
27- - os : ubuntu-18.04
28+ - name : py3.5
29+ os : ubuntu-18.04
2830 python-version : 3.5
29- - os : ubuntu-18.04
31+ - name : py3.6
32+ os : ubuntu-18.04
3033 python-version : 3.6
31- - os : ubuntu-latest
34+ - name : py3.7
35+ os : ubuntu-latest
3236 python-version : 3.7
33- - os : ubuntu-latest
37+ - name : py3.8
38+ os : ubuntu-latest
3439 python-version : 3.8
35- - os : ubuntu-latest
40+ - name : py3.9
41+ os : ubuntu-latest
3642 python-version : 3.9
37- # TODO: make pypy runnable
38- # - os: ubuntu-latest
39- # python-version: pypy2
40- # - os: ubuntu-latest
41- # python-version: pypy3
42- - os : ubuntu-latest
43+ - name : py2.6
44+ os : ubuntu-latest
4345 container : centos:6
4446 python-version : 2.6
4547 # then test with the different optional dependencies installed
46- - os : ubuntu-latest
48+ - name : py3.6 with tackpy
49+ os : ubuntu-latest
4750 python-version : 3.6
4851 opt-deps : ['tackpy']
49- - os : ubuntu-16.04
52+ - name : py2.7 with m2crypto
53+ os : ubuntu-16.04
5054 python-version : 2.7
5155 opt-deps : ['m2crypto']
52- - os : ubuntu-latest
56+ - name : py3.6 with m2crypto
57+ os : ubuntu-latest
5358 python-version : 3.6
5459 opt-deps : ['m2crypto']
55- - os : ubuntu-latest
60+ - name : py3.7 with m2crypto
61+ os : ubuntu-latest
5662 python-version : 3.7
5763 opt-deps : ['m2crypto']
58- - os : ubuntu-latest
64+ - name : py3.8 with m2crypto
65+ os : ubuntu-latest
5966 python-version : 3.8
6067 opt-deps : ['m2crypto']
61- - os : ubuntu-latest
68+ - name : py3.9 with m2crypto
69+ os : ubuntu-latest
6270 python-version : 3.9
6371 opt-deps : ['m2crypto']
64- - os : ubuntu-latest
72+ - name : py2.7 with pycrypto
73+ os : ubuntu-latest
6574 python-version : 2.7
6675 opt-deps : ['pycrypto']
67- - os : ubuntu-latest
76+ - name : py3.6 with pycrypto
77+ os : ubuntu-latest
6878 python-version : 3.6
6979 opt-deps : ['pycrypto']
70- - os : ubuntu-latest
80+ - name : py3.7 with pycrypto
81+ os : ubuntu-latest
7182 # note: 3.7 is the last version where pycrypto is installable
7283 python-version : 3.7
7384 opt-deps : ['pycrypto']
74- - os : ubuntu-latest
85+ - name : py3.9 with pycryptodome
86+ os : ubuntu-latest
7587 python-version : 3.9
7688 # we don't support pycryptodome, just test that when it's installed
7789 # it doesn't break pycrypto code
7890 opt-deps : ['pycryptodome']
79- - os : ubuntu-latest
91+ - name : py2.7 with gmpy
92+ os : ubuntu-latest
8093 python-version : 2.7
8194 opt-deps : ['gmpy']
82- - os : ubuntu-latest
95+ - name : py3.6 with gmpy
96+ os : ubuntu-latest
8397 python-version : 3.6
8498 opt-deps : ['gmpy']
85- - os : ubuntu-latest
99+ - name : py3.7 with gmpy
100+ os : ubuntu-latest
86101 python-version : 3.7
87102 opt-deps : ['gmpy']
88- - os : ubuntu-latest
103+ - name : py3.8 with gmpy
104+ os : ubuntu-latest
89105 python-version : 3.8
90106 opt-deps : ['gmpy']
91- - os : ubuntu-latest
107+ - name : py3.9 with gmpy
108+ os : ubuntu-latest
92109 python-version : 3.9
93110 opt-deps : ['gmpy']
94- - os : ubuntu-latest
111+ - name : py2.7 with gmpy2
112+ os : ubuntu-latest
95113 python-version : 2.7
96114 opt-deps : ['gmpy2']
97- - os : ubuntu-latest
115+ - name : py3.6 with gmpy2
116+ os : ubuntu-latest
98117 python-version : 3.6
99118 opt-deps : ['gmpy2']
100- - os : ubuntu-latest
119+ - name : py3.7 with gmpy2
120+ os : ubuntu-latest
101121 python-version : 3.7
102122 opt-deps : ['gmpy2']
103- - os : ubuntu-latest
123+ - name : py3.8 with gmpy2
124+ os : ubuntu-latest
104125 python-version : 3.8
105126 opt-deps : ['gmpy2']
106- - os : ubuntu-latest
127+ - name : py3.9 with gmpy2
128+ os : ubuntu-latest
107129 python-version : 3.9
108130 opt-deps : ['gmpy2']
109131 # finally test with multiple dependencies installed at the same time
110- - os : ubuntu-latest
132+ - name : py2.7 with m2crypto, pycrypto, gmpy, and gmpy2
133+ os : ubuntu-latest
111134 python-version : 2.7
112135 opt-deps : ['m2crypto', 'pycrypto', 'gmpy', 'gmpy2']
113- - os : ubuntu-latest
136+ - name : py3.6 with m2crypto, pycrypto, gmpy, and gmpy2
137+ os : ubuntu-latest
114138 python-version : 3.6
115139 opt-deps : ['m2crypto', 'pycrypto', 'gmpy', 'gmpy2']
116- - os : ubuntu-latest
140+ - name : py3.7 with m2crypto, pycrypto, gmpy, and gmpy2
141+ os : ubuntu-latest
117142 python-version : 3.7
118143 opt-deps : ['m2crypto', 'pycrypto', 'gmpy', 'gmpy2']
119- - os : ubuntu-latest
144+ - name : py3.8 with m2crypto, gmpy, and gmpy2
145+ os : ubuntu-latest
120146 python-version : 3.8
121147 opt-deps : ['m2crypto', 'gmpy', 'gmpy2']
122- - os : ubuntu-latest
148+ - name : py3.8 with m2crypto, gmpy, and gmpy2
149+ os : ubuntu-latest
123150 python-version : 3.9
124151 # coverage to codeclimate can be submitted just once
125152 opt-deps : ['m2crypto', 'gmpy', 'gmpy2', 'codeclimate']
@@ -129,6 +156,7 @@ jobs:
129156 with :
130157 fetch-depth : 50
131158 - uses : actions/checkout@v1
159+ # centos 6 doesn't have glibc new enough for the nodejs used by v2
132160 if : ${{ matrix.container }}
133161 with :
134162 fetch-depth : 50
@@ -169,6 +197,7 @@ jobs:
169197 - name : Ensure we have baseline branch for quality coverage
170198 run : git fetch origin master:refs/remotes/origin/master
171199 - name : Set up Python ${{ matrix.python-version }}
200+ # we use containers to use the native python version from them
172201 if : ${{ !matrix.container }}
173202 uses : actions/setup-python@v2
174203 with :
@@ -238,7 +267,7 @@ jobs:
238267 run : coverage run --branch --source tlslite -m unittest2 discover
239268 - name : Run connection tests
240269 run : make test-local
241- - name : Combine coverage from both test suites
270+ - name : Combine coverage from unit tests and connection tests
242271 run : |
243272 coverage combine --append
244273 coverage report -m
@@ -264,7 +293,7 @@ jobs:
264293 echo GITHUB_SHA: $GITHUB_SHA
265294 echo GITHUB_REF: $GITHUB_REF
266295 git fetch origin $BASE_REF
267- COMMIT_RANGE=origin/$BASE_REF..$GITHUB_SHA
296+ COMMIT_RANGE=origin/$BASE_REF..HEAD
268297 echo COMMIT_RANGE: $COMMIT_RANGE
269298 echo Will test the following commits:
270299 git log --oneline --reverse $COMMIT_RANGE
@@ -281,7 +310,11 @@ jobs:
281310 done
282311 - name : Publish coverage to Coveralls
283312 env :
313+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
284314 COVERALLS_REPO_TOKEN : ${{ secrets.COVERALLS_REPO_TOKEN }}
315+ COVERALLS_FLAG_NAME : ${{ matrix.name }}
316+ COVERALLS_PARALLEL : true
317+ COVERALLS_SERVICE_NAME : git hub actions
285318 run : coveralls
286319 - name : Publish coverage to Codeclimate
287320 if : ${{ contains(matrix.opt-deps, 'codeclimate') }}
@@ -290,3 +323,20 @@ jobs:
290323 run : |
291324 coverage xml
292325 ./cc-test-reporter after-build
326+
327+ coveralls :
328+ name : Indicate completion to coveralls.io
329+ needs : test
330+ runs-on : ubuntu-latest
331+ steps :
332+ - name : Set up Python 3.8
333+ uses : actions/setup-python@v2
334+ with :
335+ python-version : 3.8
336+ - name : Finished
337+ env :
338+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
339+ COVERALLS_SERVICE_NAME : git hub actions
340+ run : |
341+ pip install --upgrade coveralls
342+ coveralls --service=github --finish
0 commit comments