13
13
# Daily at 05:47
14
14
- cron : ' 47 5 * * *'
15
15
16
+ env :
17
+ PIP_NO_PYTHON_VERSION_WARNING : 1
18
+
16
19
jobs :
17
20
test :
18
21
name : ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.reactor.name }}
31
34
3.6 : docker://python:3.6-buster
32
35
3.7 : docker://python:3.7-buster
33
36
3.8 : docker://python:3.8-buster
34
- pypy2 : docker://pypy:2-jessie
35
- pypy3 : docker://pypy:3-stretch
37
+ 3.9 : docker://python:3.9-buster
38
+ pypy2.7 : docker://pypy:2.7-buster
39
+ pypy3.6 : docker://pypy:3.6-buster
40
+ pypy3.7 : docker://pypy:3.7-buster
36
41
- name : 🪟
37
42
runs-on : windows-latest
38
43
python_platform : win32
@@ -44,61 +49,90 @@ jobs:
44
49
tox : py27
45
50
action : 2.7
46
51
docker : 2.7
52
+ implementation : cpython
53
+ major : 2
47
54
- name : CPython 3.5
48
55
tox : py35
49
56
action : 3.5
50
57
docker : 3.5
58
+ implementation : cpython
59
+ major : 3
51
60
- name : CPython 3.6
52
61
tox : py36
53
62
action : 3.6
54
63
docker : 3.6
64
+ implementation : cpython
65
+ major : 3
55
66
- name : CPython 3.7
56
67
tox : py37
57
68
action : 3.7
58
69
docker : 3.7
70
+ implementation : cpython
71
+ major : 3
59
72
- name : CPython 3.8
60
73
tox : py38
61
74
action : 3.8
62
75
docker : 3.8
63
- - name : PyPy 2
64
- tox : pypy2
65
- action : pypy2
66
- docker : pypy2
67
- - name : PyPy 3
68
- tox : pypy3
69
- action : pypy3
70
- docker : pypy3
76
+ implementation : cpython
77
+ major : 3
78
+ - name : CPython 3.9
79
+ tox : py39
80
+ action : 3.9
81
+ docker : 3.9
82
+ implementation : cpython
83
+ major : 3
84
+ - name : PyPy 2.7
85
+ tox : pypy27
86
+ action : pypy-2.7
87
+ docker : pypy2.7
88
+ implementation : pypy
89
+ major : 2
90
+ - name : PyPy 3.6
91
+ tox : pypy36
92
+ action : pypy-3.6
93
+ docker : pypy3.6
94
+ implementation : pypy
95
+ major : 3
96
+ - name : PyPy 3.7
97
+ tox : pypy37
98
+ action : pypy-3.7
99
+ docker : pypy3.7
100
+ implementation : pypy
101
+ major : 3
71
102
reactor :
72
103
- name : default
73
104
tox : default
74
105
dependencies : default
75
- - name : Qt5
76
- tox : qt5
106
+ - name : PyQt5
107
+ tox : pyqt5
108
+ dependencies : qt5
109
+ - name : PySide2
110
+ tox : pyside2
77
111
dependencies : qt5
78
112
- name : asyncio
79
113
tox : asyncio
80
114
dependencies : asyncio
81
115
exclude :
82
116
- python :
83
- tox : py27
117
+ major : 2
84
118
reactor :
85
- tox : qt5
119
+ tox : pyqt5
86
120
- python :
87
- tox : py27
121
+ major : 2
88
122
reactor :
89
- tox : asyncio
123
+ tox : pyside2
90
124
- python :
91
- tox : pypy2
125
+ major : 2
92
126
reactor :
93
127
tox : asyncio
94
128
- python :
95
- tox : pypy2
129
+ implementation : pypy
96
130
reactor :
97
- tox : qt5
131
+ tox : pyqt5
98
132
- python :
99
- tox : pypy3
133
+ implementation : pypy
100
134
reactor :
101
- tox : qt5
135
+ tox : pyside2
102
136
steps :
103
137
- uses : actions/checkout@v2
104
138
- name : Enable Problem Matchers
@@ -108,7 +142,15 @@ jobs:
108
142
if : ${{ job.container == '' }}
109
143
uses : actions/setup-python@v2
110
144
with :
111
- python-version : ${{ matrix.python.action }}
145
+ # This allows the matrix to specify just the major.minor version while still
146
+ # expanding it to get the latest patch version including alpha releases.
147
+ # This avoids the need to update for each new alpha, beta, release candidate,
148
+ # and then finally an actual release version. actions/setup-python doesn't
149
+ # support this for PyPy presently so we get no help there.
150
+ #
151
+ # CPython -> 3.9.0-alpha - 3.9.X
152
+ # PyPy -> pypy-3.7
153
+ python-version : ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python.action), matrix.python.action))[startsWith(matrix.python.action, 'pypy')] }}
112
154
architecture : x64
113
155
- name : Report Python information
114
156
shell : bash
@@ -121,11 +163,11 @@ jobs:
121
163
echo
122
164
echo " <=======>"
123
165
echo
124
- pip list --no-python-version-warning
166
+ pip list
125
167
echo
126
168
echo " <=======>"
127
169
echo
128
- pip freeze --all --no-python-version-warning
170
+ pip freeze --all
129
171
- name : Install Linux Qt5 dependencies
130
172
if : matrix.os.python_platform == 'linux' && matrix.reactor.dependencies == 'qt5'
131
173
run : |
0 commit comments