6
6
- " dependabot/**"
7
7
pull_request :
8
8
9
+ concurrency :
10
+ group : ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && format('-{0}', github.sha) || '' }}
11
+ cancel-in-progress : true
12
+
9
13
jobs :
10
14
Windows :
11
15
name : ' Windows (${{ matrix.python }}, ${{ matrix.arch }}${{ matrix.extra_name }})'
@@ -14,11 +18,18 @@ jobs:
14
18
strategy :
15
19
fail-fast : false
16
20
matrix :
17
- python : ['3.7', '3.8', '3.9', '3.10']
21
+ # pypy-3.10 is failing, see https://github.com/python-trio/trio/issues/2678
22
+ python : ['3.8', '3.9', '3.10', 'pypy-3.9-nightly'] # , 'pypy-3.10-nightly']
18
23
arch : ['x86', 'x64']
19
24
lsp : ['']
20
25
lsp_extract_file : ['']
21
26
extra_name : ['']
27
+ exclude :
28
+ # pypy does not release 32-bit binaries
29
+ - python : ' pypy-3.9-nightly'
30
+ arch : ' x86'
31
+ # - python: 'pypy-3.10-nightly'
32
+ # arch: 'x86'
22
33
include :
23
34
- python : ' 3.8'
24
35
arch : ' x64'
@@ -35,25 +46,29 @@ jobs:
35
46
# lsp: 'http://download.pctools.com/mirror/updates/9.0.0.2308-SDavfree-lite_en.exe'
36
47
# lsp_extract_file: ''
37
48
# extra_name: ', with non-IFS LSP'
38
- - python : ' 3.8' # <- not actually used
39
- arch : ' x64'
40
- pypy_nightly_branch : ' py3.8'
41
- extra_name : ' , pypy 3.8 nightly'
42
-
49
+ continue-on-error : >-
50
+ ${{
51
+ (
52
+ endsWith(matrix.python, '-dev')
53
+ || endsWith(matrix.python, '-nightly')
54
+ )
55
+ && true
56
+ || false
57
+ }}
43
58
steps :
44
59
- name : Checkout
45
60
uses : actions/checkout@v3
46
61
- name : Setup python
47
- uses : actions/setup-python@v2
62
+ uses : actions/setup-python@v4
48
63
with :
49
64
# This allows the matrix to specify just the major.minor version while still
50
65
# expanding it to get the latest patch version including alpha releases.
51
66
# This avoids the need to update for each new alpha, beta, release candidate,
52
67
# and then finally an actual release version. actions/setup-python doesn't
53
68
# support this for PyPy presently so we get no help there.
54
69
#
55
- # CPython -> 3.9.0-alpha - 3.9.X
56
- # PyPy -> pypy-3.7
70
+ # ' CPython' -> ' 3.9.0-alpha - 3.9.X'
71
+ # ' PyPy' -> ' pypy-3.9'
57
72
python-version : ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python), matrix.python))[startsWith(matrix.python, 'pypy')] }}
58
73
architecture : ' ${{ matrix.arch }}'
59
74
cache : pip
64
79
env :
65
80
LSP : ' ${{ matrix.lsp }}'
66
81
LSP_EXTRACT_FILE : ' ${{ matrix.lsp_extract_file }}'
67
- # Should match 'name:' up above
68
- JOB_NAME : ' Windows (${{ matrix.python }}, ${{ matrix.arch }}${{ matrix.extra_name }})'
82
+ - if : always()
83
+ uses : codecov/codecov-action@v3
84
+ with :
85
+ directory : empty
86
+ token : 87cefb17-c44b-4f2f-8b30-1fff5769ce46
87
+ name : Windows (${{ matrix.python }}, ${{ matrix.arch }}${{ matrix.extra_name }})
88
+ flags : Windows,${{ matrix.python }}
69
89
70
90
Ubuntu :
71
91
name : ' Ubuntu (${{ matrix.python }}${{ matrix.extra_name }})'
@@ -74,29 +94,18 @@ jobs:
74
94
strategy :
75
95
fail-fast : false
76
96
matrix :
77
- python : ['pypy-3.7 ', 'pypy-3.8 ', 'pypy-3.9 ', '3.7 ', '3.8 ', '3.9 ', '3.10 ', '3.11 ', '3.12-dev ']
97
+ python : ['pypy-3.9 ', 'pypy-3.10 ', '3.8 ', '3.9 ', '3.10 ', '3.11 ', '3.12-dev ', 'pypy-3.9-nightly ', 'pypy-3.10-nightly ']
78
98
check_formatting : ['0']
79
- pypy_nightly_branch : ['']
80
99
extra_name : ['']
81
100
include :
82
101
- python : ' 3.8'
83
102
check_formatting : ' 1'
84
103
extra_name : ' , check formatting'
85
- - python : ' 3.7' # <- not actually used
86
- pypy_nightly_branch : ' py3.7'
87
- extra_name : ' , pypy 3.7 nightly'
88
- - python : ' 3.8' # <- not actually used
89
- pypy_nightly_branch : ' py3.8'
90
- extra_name : ' , pypy 3.8 nightly'
91
- - python : ' 3.9' # <- not actually used
92
- pypy_nightly_branch : ' py3.9'
93
- extra_name : ' , pypy 3.9 nightly'
94
104
continue-on-error : >-
95
105
${{
96
106
(
97
- matrix.check_formatting == '1'
98
- || matrix.pypy_nightly_branch == 'py3.7'
99
- || endsWith(matrix.python, '-dev')
107
+ endsWith(matrix.python, '-dev')
108
+ || endsWith(matrix.python, '-nightly')
100
109
)
101
110
&& true
102
111
|| false
@@ -105,7 +114,7 @@ jobs:
105
114
- name : Checkout
106
115
uses : actions/checkout@v3
107
116
- name : Setup python
108
- uses : actions/setup-python@v2
117
+ uses : actions/setup-python@v4
109
118
if : " !endsWith(matrix.python, '-dev')"
110
119
with :
111
120
python-version : ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python), matrix.python))[startsWith(matrix.python, 'pypy')] }}
@@ -119,71 +128,50 @@ jobs:
119
128
- name : Run tests
120
129
run : ./ci.sh
121
130
env :
122
- PYPY_NIGHTLY_BRANCH : ' ${{ matrix.pypy_nightly_branch }}'
123
131
CHECK_FORMATTING : ' ${{ matrix.check_formatting }}'
124
- # Should match 'name:' up above
125
- JOB_NAME : ' Ubuntu (${{ matrix.python }}${{ matrix.extra_name }})'
126
-
127
- autofmt :
128
- name : Autoformat dependabot PR
129
- timeout-minutes : 10
130
- if : github.actor == 'dependabot[bot]'
131
- runs-on : ' ubuntu-latest'
132
- # https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#changing-github_token-permissions
133
- permissions :
134
- pull-requests : write
135
- issues : write
136
- repository-projects : write
137
- contents : write
138
- steps :
139
- - name : Checkout
140
- uses : actions/checkout@v3
141
- with :
142
- ref : ${{ github.event.pull_request.head.ref }}
143
- - name : Setup python
144
- uses : actions/setup-python@v2
132
+ - if : always()
133
+ uses : codecov/codecov-action@v3
145
134
with :
146
- python-version : " 3.8"
147
- - name : Check formatting
148
- run : |
149
- python -m pip install -r test-requirements.txt
150
- ./check.sh
151
- - name : Commit autoformatter changes
152
- if : failure()
153
- run : |
154
- black setup.py trio
155
- git config user.name 'github-actions[bot]'
156
- git config user.email '41898282+github-actions[bot]@users.noreply.github.com'
157
- git commit -am "Autoformatter changes"
158
- git push
135
+ directory : empty
136
+ token : 87cefb17-c44b-4f2f-8b30-1fff5769ce46
137
+ name : Ubuntu (${{ matrix.python }}${{ matrix.extra_name }})
138
+ flags : Ubuntu,${{ matrix.python }}
159
139
160
140
macOS :
161
141
name : ' macOS (${{ matrix.python }})'
162
- timeout-minutes : 10
142
+ timeout-minutes : 15
163
143
runs-on : ' macos-latest'
164
144
strategy :
165
145
fail-fast : false
166
146
matrix :
167
- python : ['3.7', '3.8', '3.9', '3.10']
168
- include :
169
- - python : ' 3.8' # <- not actually used
170
- arch : ' x64'
171
- pypy_nightly_branch : ' py3.8'
172
- extra_name : ' , pypy 3.8 nightly'
147
+ python : ['3.8', '3.9', '3.10', 'pypy-3.9-nightly', 'pypy-3.10-nightly']
148
+ continue-on-error : >-
149
+ ${{
150
+ (
151
+ endsWith(matrix.python, '-dev')
152
+ || endsWith(matrix.python, '-nightly')
153
+ )
154
+ && true
155
+ || false
156
+ }}
173
157
steps :
174
158
- name : Checkout
175
159
uses : actions/checkout@v3
176
160
- name : Setup python
177
- uses : actions/setup-python@v2
161
+ uses : actions/setup-python@v4
178
162
with :
179
163
python-version : ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python), matrix.python))[startsWith(matrix.python, 'pypy')] }}
180
164
cache : pip
181
165
cache-dependency-path : test-requirements.txt
182
166
- name : Run tests
183
167
run : ./ci.sh
184
- env :
185
- # Should match 'name:' up above
186
- JOB_NAME : ' macOS (${{ matrix.python }})'
168
+ - if : always()
169
+ uses : codecov/codecov-action@v3
170
+ with :
171
+ directory : empty
172
+ token : 87cefb17-c44b-4f2f-8b30-1fff5769ce46
173
+ name : macOS (${{ matrix.python }})
174
+ flags : macOS,${{ matrix.python }}
187
175
188
176
# https://github.com/marketplace/actions/alls-green#why
189
177
check : # This job does nothing and is only used for the branch protection
0 commit comments