33
33
check_source :
34
34
name : ' Check for source changes'
35
35
runs-on : ubuntu-latest
36
+ timeout-minutes : 10
36
37
outputs :
37
38
run_tests : ${{ steps.check.outputs.run_tests }}
38
39
steps :
63
64
check_generated_files :
64
65
name : ' Check if generated files are up to date'
65
66
runs-on : ubuntu-latest
67
+ timeout-minutes : 60
66
68
needs : check_source
67
69
if : needs.check_source.outputs.run_tests == 'true'
68
70
steps :
@@ -111,10 +113,14 @@ jobs:
111
113
run : make smelly
112
114
- name : Check limited ABI symbols
113
115
run : make check-limited-abi
116
+ - name : Check for unsupported C global variables
117
+ if : github.event_name == 'pull_request' # $GITHUB_EVENT_NAME
118
+ run : make check-c-globals
114
119
115
120
build_win32 :
116
121
name : ' Windows (x86)'
117
122
runs-on : windows-latest
123
+ timeout-minutes : 60
118
124
needs : check_source
119
125
if : needs.check_source.outputs.run_tests == 'true'
120
126
env :
@@ -123,7 +129,6 @@ jobs:
123
129
- uses : actions/checkout@v3
124
130
- name : Build CPython
125
131
run : .\PCbuild\build.bat -e -d -p Win32
126
- timeout-minutes : 30
127
132
- name : Display build info
128
133
run : .\python.bat -m test.pythoninfo
129
134
- name : Tests
@@ -132,6 +137,7 @@ jobs:
132
137
build_win_amd64 :
133
138
name : ' Windows (x64)'
134
139
runs-on : windows-latest
140
+ timeout-minutes : 60
135
141
needs : check_source
136
142
if : needs.check_source.outputs.run_tests == 'true'
137
143
env :
@@ -142,7 +148,6 @@ jobs:
142
148
run : echo "::add-matcher::.github/problem-matchers/msvc.json"
143
149
- name : Build CPython
144
150
run : .\PCbuild\build.bat -e -d -p x64
145
- timeout-minutes : 30
146
151
- name : Display build info
147
152
run : .\python.bat -m test.pythoninfo
148
153
- name : Tests
@@ -151,18 +156,27 @@ jobs:
151
156
build_macos :
152
157
name : ' macOS'
153
158
runs-on : macos-latest
159
+ timeout-minutes : 60
154
160
needs : check_source
155
161
if : needs.check_source.outputs.run_tests == 'true'
156
162
env :
163
+ HOMEBREW_NO_ANALYTICS : 1
164
+ HOMEBREW_NO_AUTO_UPDATE : 1
165
+ HOMEBREW_NO_INSTALL_CLEANUP : 1
157
166
PYTHONSTRICTEXTENSIONBUILD : 1
158
167
steps :
159
168
- uses : actions/checkout@v3
160
- - name : Prepare homebrew environment variables
161
- run : |
162
- echo "LDFLAGS=-L$(brew --prefix tcl-tk)/lib" >> $GITHUB_ENV
163
- echo "PKG_CONFIG_PATH=$(brew --prefix openssl@1.1)/lib/pkgconfig:$(brew --prefix tcl-tk)/lib/pkgconfig" >> $GITHUB_ENV
169
+ - name : Install Homebrew dependencies
170
+ run : brew install pkg-config openssl@1.1 xz gdbm tcl-tk
164
171
- name : Configure CPython
165
- run : ./configure --with-pydebug --prefix=/opt/python-dev
172
+ run : |
173
+ CFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \
174
+ LDFLAGS="-L$(brew --prefix gdbm)/lib -I$(brew --prefix xz)/lib" \
175
+ PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
176
+ ./configure \
177
+ --with-pydebug \
178
+ --prefix=/opt/python-dev \
179
+ --with-openssl="$(brew --prefix openssl@1.1)"
166
180
- name : Build CPython
167
181
run : make -j4
168
182
- name : Display build info
@@ -173,6 +187,7 @@ jobs:
173
187
build_ubuntu :
174
188
name : ' Ubuntu'
175
189
runs-on : ubuntu-20.04
190
+ timeout-minutes : 60
176
191
needs : check_source
177
192
if : needs.check_source.outputs.run_tests == 'true'
178
193
env :
@@ -230,6 +245,7 @@ jobs:
230
245
build_ubuntu_ssltests :
231
246
name : ' Ubuntu SSL tests with OpenSSL'
232
247
runs-on : ubuntu-20.04
248
+ timeout-minutes : 60
233
249
needs : check_source
234
250
if : needs.check_source.outputs.run_tests == 'true'
235
251
strategy :
@@ -279,6 +295,7 @@ jobs:
279
295
build_asan :
280
296
name : ' Address sanitizer'
281
297
runs-on : ubuntu-20.04
298
+ timeout-minutes : 60
282
299
needs : check_source
283
300
if : needs.check_source.outputs.run_tests == 'true'
284
301
env :
@@ -291,6 +308,10 @@ jobs:
291
308
run : echo "::add-matcher::.github/problem-matchers/gcc.json"
292
309
- name : Install Dependencies
293
310
run : sudo ./.github/workflows/posix-deps-apt.sh
311
+ - name : Set up GCC-10 for ASAN
312
+ uses : egor-tensin/setup-gcc@v1
313
+ with :
314
+ version : 10
294
315
- name : Configure OpenSSL env vars
295
316
run : |
296
317
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV
0 commit comments