2525permissions :
2626 contents : read
2727
28+ concurrency :
29+ group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
30+ cancel-in-progress : true
31+
2832jobs :
2933 check_source :
3034 name : ' Check for source changes'
3135 runs-on : ubuntu-latest
3236 outputs :
3337 run_tests : ${{ steps.check.outputs.run_tests }}
34- run_ssl_tests : ${{ steps.check.outputs.run_ssl_tests }}
3538 steps :
3639 - uses : actions/checkout@v3
3740 - name : Check for source changes
3841 id : check
3942 run : |
4043 if [ -z "$GITHUB_BASE_REF" ]; then
41- echo '::set-output name=run_tests::true'
42- echo '::set-output name=run_ssl_tests::true'
44+ echo "run_tests=true" >> $GITHUB_OUTPUT
4345 else
4446 git fetch origin $GITHUB_BASE_REF --depth=1
4547 # git diff "origin/$GITHUB_BASE_REF..." (3 dots) may be more
5557 # into the PR branch anyway.
5658 #
5759 # https://github.com/python/core-workflow/issues/373
58- git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc)' && echo '::set-output name=run_tests::true' || true
59- git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qE '(ssl|hashlib|hmac|^.github)' && echo '::set-output name=run_ssl_tests::true' || true
60+ git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
6061 fi
6162
6263 check_generated_files :
7273 - name : Add ccache to PATH
7374 run : echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
7475 - name : Configure ccache action
75- uses : hendrikmuhs/ccache-action@v1
76+ uses : hendrikmuhs/ccache-action@v1.2
7677 - name : Check Autoconf version 2.69 and aclocal 1.16.3
7778 run : |
7879 grep "Generated by GNU Autoconf 2.69" configure
@@ -110,6 +111,9 @@ jobs:
110111 run : make smelly
111112 - name : Check limited ABI symbols
112113 run : make check-limited-abi
114+ - name : Check for unsupported C global variables
115+ if : github.event_name == 'pull_request' # $GITHUB_EVENT_NAME
116+ run : make check-c-globals
113117
114118 build_win32 :
115119 name : ' Windows (x86)'
@@ -153,15 +157,23 @@ jobs:
153157 needs : check_source
154158 if : needs.check_source.outputs.run_tests == 'true'
155159 env :
160+ HOMEBREW_NO_ANALYTICS : 1
161+ HOMEBREW_NO_AUTO_UPDATE : 1
162+ HOMEBREW_NO_INSTALL_CLEANUP : 1
156163 PYTHONSTRICTEXTENSIONBUILD : 1
157164 steps :
158165 - uses : actions/checkout@v3
159- - name : Prepare homebrew environment variables
160- run : |
161- echo "LDFLAGS=-L$(brew --prefix tcl-tk)/lib" >> $GITHUB_ENV
162- echo "PKG_CONFIG_PATH=$(brew --prefix [email protected] )/lib/pkgconfig:$(brew --prefix tcl-tk)/lib/pkgconfig" >> $GITHUB_ENV 166+ - name : Install Homebrew dependencies
167+ run :
brew install pkg-config [email protected] xz gdbm tcl-tk 163168 - name : Configure CPython
164- run : ./configure --with-pydebug --prefix=/opt/python-dev
169+ run : |
170+ CFLAGS="-I$(brew --prefix gdbm)/include -I$(brew --prefix xz)/include" \
171+ LDFLAGS="-L$(brew --prefix gdbm)/lib -I$(brew --prefix xz)/lib" \
172+ PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
173+ ./configure \
174+ --with-pydebug \
175+ --prefix=/opt/python-dev \
176+ --with-openssl="$(brew --prefix [email protected] )" 165177 - name : Build CPython
166178 run : make -j4
167179 - name : Display build info
@@ -175,7 +187,7 @@ jobs:
175187 needs : check_source
176188 if : needs.check_source.outputs.run_tests == 'true'
177189 env :
178- OPENSSL_VER : 1.1.1n
190+ OPENSSL_VER : 1.1.1t
179191 PYTHONSTRICTEXTENSIONBUILD : 1
180192 steps :
181193 - uses : actions/checkout@v3
@@ -201,7 +213,7 @@ jobs:
201213 run : |
202214 echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
203215 - name : Configure ccache action
204- uses : hendrikmuhs/ccache-action@v1
216+ uses : hendrikmuhs/ccache-action@v1.2
205217 - name : Setup directory envs for out-of-tree builds
206218 run : |
207219 echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV
@@ -230,11 +242,11 @@ jobs:
230242 name : ' Ubuntu SSL tests with OpenSSL'
231243 runs-on : ubuntu-20.04
232244 needs : check_source
233- if : needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_ssl_tests == 'true'
245+ if : needs.check_source.outputs.run_tests == 'true'
234246 strategy :
235247 fail-fast : false
236248 matrix :
237- openssl_ver : [1.1.1n , 3.0.2 ]
249+ openssl_ver : [1.1.1t , 3.0.8, 3.1.0-beta1 ]
238250 env :
239251 OPENSSL_VER : ${{ matrix.openssl_ver }}
240252 MULTISSL_DIR : ${{ github.workspace }}/multissl
@@ -264,7 +276,7 @@ jobs:
264276 run : |
265277 echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
266278 - name : Configure ccache action
267- uses : hendrikmuhs/ccache-action@v1
279+ uses : hendrikmuhs/ccache-action@v1.2
268280 - name : Configure CPython
269281 run : ./configure --with-pydebug --with-openssl=$OPENSSL_DIR
270282 - name : Build CPython
@@ -281,7 +293,7 @@ jobs:
281293 needs : check_source
282294 if : needs.check_source.outputs.run_tests == 'true'
283295 env :
284- OPENSSL_VER : 1.1.1n
296+ OPENSSL_VER : 1.1.1t
285297 PYTHONSTRICTEXTENSIONBUILD : 1
286298 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
287299 steps :
@@ -308,7 +320,7 @@ jobs:
308320 run : |
309321 echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
310322 - name : Configure ccache action
311- uses : hendrikmuhs/ccache-action@v1
323+ uses : hendrikmuhs/ccache-action@v1.2
312324 - name : Configure CPython
313325 run : ./configure --with-address-sanitizer --without-pymalloc
314326 - name : Build CPython
0 commit comments