Upgrade to Python 3.12.7 (#5149)

This commit is contained in:
Christian Clauss 2024-11-17 13:54:58 +01:00 committed by GitHub
parent 1b20dd7374
commit e37e54c1d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 81 additions and 32 deletions

View File

@ -6,7 +6,7 @@ defaults: &defaults
# Note: when updating the docker image version,
# make sure there are no extra old versions lying around.
# (e.g. `rg -F --hidden <old_tag>`)
- image: pyodide/pyodide-env:20241028-chrome130-firefox131
- image: pyodide/pyodide-env:20241106-chrome130-firefox132
environment:
- EMSDK_NUM_CORES: 3
EMCC_CORES: 3
@ -339,7 +339,8 @@ jobs:
command: |
make npm-link
pip install -r requirements.txt
pytest -s benchmark/stack_usage.py --rt node,chrome,firefox | sed -n 's/## //pg'
# TODO(cclauss): Re-add 'firefox' below.
pytest -s benchmark/stack_usage.py --rt node,chrome | sed -n 's/## //pg'
test-js:
<<: *defaults

View File

@ -1,7 +1,7 @@
{
"name": "Docker",
// keep in sync with "run_docker"
"image": "pyodide/pyodide-env:20241028-chrome130-firefox131",
"image": "pyodide/pyodide-env:20241106-chrome130-firefox132",
"remoteUser": "root",
"onCreateCommand": ".devcontainer/onCreate-docker.sh"
}

View File

@ -1,5 +1,5 @@
FROM node:20.11-bookworm-slim AS node-image
FROM python:3.12.1-slim-bookworm
FROM python:3.12.7-slim-bookworm
# Requirements for building packages
RUN apt-get update \
@ -104,7 +104,7 @@ RUN if [ $CHROME_VERSION = "latest" ]; \
then CHROME_VERSION_FULL=$(wget --no-verbose -O - "https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_STABLE"); \
else CHROME_VERSION_FULL=$(wget --no-verbose -O - "https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_${CHROME_VERSION}"); \
fi \
&& CHROME_DOWNLOAD_URL="https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION_FULL}-1_amd64.deb" \
&& CHROME_DOWNLOAD_URL="https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb." \
&& CHROMEDRIVER_DOWNLOAD_URL="https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION_FULL}/linux64/chromedriver-linux64.zip" \
&& wget --no-verbose -O /tmp/google-chrome.deb ${CHROME_DOWNLOAD_URL} \
&& apt-get update \

View File

@ -1,9 +1,9 @@
export PYVERSION ?= 3.12.1
export PYVERSION ?= 3.12.7
export PYODIDE_EMSCRIPTEN_VERSION ?= 3.1.58
export PYODIDE_VERSION ?= 0.27.0.dev0
export PYODIDE_ABI_VERSION ?= 2024_0
export PYTHON_ARCHIVE_SHA256=d01ec6a33bc10009b09c17da95cc2759af5a580a7316b3a446eb4190e13f97b2
export PYTHON_ARCHIVE_SHA256=73ac8fe780227bf371add8373c3079f42a0dc62deff8d612cd15a618082ab623
ifdef CPYTHON_DEBUG
export CPYTHON_ABI_FLAGS=d

View File

@ -16,6 +16,9 @@ myst:
## Unreleased
- {{ Enhancement }} Upgrade to Python 3.12.7.
{pr}`5149`
- {{ Enhancement }} Add unix-timezones module, which installs Unix compatible
timezone data in /usr/share/zoneinfo, for use with C/C++ libraries which do
timezone handling.

View File

@ -22,4 +22,4 @@ pyodide-build>=0.27.3
micropip==0.2.2
jinja2>=3.0
ruamel.yaml
sphinx-js @ git+https://github.com/pyodide/sphinx-js-fork@14958086d51939ae4078751abec004e1f3fea1fe
sphinx-js @ git+https://github.com/pyodide/sphinx-js-fork@1428f1547b510a1574c227ced4356ba546a21f74

View File

@ -31,6 +31,7 @@ build:
-sUSE_LIBPNG=1
-sUSE_GIFLIB=1
-sUSE_HARFBUZZ=1
-Wno-unreachable-code-fallthrough
ldflags: |
-sRELOCATABLE=1
-sUSE_SDL=2

View File

@ -51,6 +51,7 @@ build:
_testcapi/code.c \
_testcapi/buffer.c \
_testcapi/pyos.c \
_testcapi/run.c \
_testcapi/file.c \
_testcapi/codec.c \
_testcapi/immortal.c \

View File

@ -1698,7 +1698,7 @@ JsArray_ass_subscript(PyObject* self, PyObject* item, PyObject* pyvalue)
slicelength = PySlice_AdjustIndices(length, &start, &stop, step);
if (pyvalue != NULL) {
seq = PySequence_Fast(pyvalue, "can only assign an iterable");
seq = PySequence_Fast(pyvalue, "must assign iterable to extended slice");
FAIL_IF_NULL(seq);
}
if (pyvalue != NULL && step != 1 &&

View File

@ -57,10 +57,9 @@
xfail: slow, sometimes times out
- test_array
- test_asdl_parser
- test_ast:
xfail-safari: Stack overflow
- test_ast.test_ast:
skip:
- test_stdlib_validates # incompatible with zipimport
- "*_recursion_*"
- test_asyncgen:
xfail: async
- test_asyncio.test_base_events:
@ -97,6 +96,7 @@
xfail: async
- test_asyncio.test_ssl
- test_asyncio.test_sslproto
- test_asyncio.test_staggered
- test_asyncio.test_streams:
xfail: async
- test_asyncio.test_subprocess:
@ -179,9 +179,12 @@
- test_capi.test_misc:
skip:
- "*subinterpreter*" # Should we disable _xxsubinterpreters in Setup.local?
- test_capi.test_number
- test_capi.test_run
- test_capi.test_set
- test_capi.test_structmembers
- test_capi.test_sys
- test_capi.test_tuple
- test_capi.test_unicode
- test_capi.test_watchers
- test_cgi:
@ -189,7 +192,9 @@
- test_log # OSError: [Errno 70] Invalid seek
- test_cgitb
- test_charmapcodec
- test_class
- test_class:
skip:
- testSFBug532646 # Maximum call stack size exceeded
- test_clinic
- test_cmath
- test_cmd
@ -216,7 +221,10 @@
- test_collections
- test_colorsys
- test_compare
- test_compile
- test_compile:
skip:
- test_compiler_recursion_limit
- test_extended_arg
- test_compileall:
xfail: multiprocessing
- test_compiler_assemble
@ -238,7 +246,11 @@
- test_contextlib
- test_contextlib_async:
xfail: async
- test_copy
- test_copy:
skip:
- test_deepcopy_reflexive_dict
- test_deepcopy_reflexive_list
- test_deepcopy_reflexive_tuple
- test_copyreg:
xfail: dbm
- test_coroutines:
@ -250,7 +262,9 @@
- test_ctypes.test_anon
- test_ctypes.test_array_in_pointer
- test_ctypes.test_arrays
- test_ctypes.test_as_parameter
- test_ctypes.test_as_parameter:
skip:
- test_recursive_as_param
- test_ctypes.test_bitfields
- test_ctypes.test_buffers
- test_ctypes.test_bytes
@ -293,7 +307,9 @@
- test_ctypes.test_struct_fields
- test_ctypes.test_structures:
skip:
- test_array_in_struct
- test_array_in_struct_registers # needs https://github.com/libffi/libffi/pull/818
- test_issue18060*
- test_ctypes.test_unaligned_structures
- test_ctypes.test_unicode
- test_ctypes.test_values
@ -320,16 +336,19 @@
xfail: stack overflow
- test_descrtut
- test_devpoll
- test_dict
- test_dict:
skip:
- test_repr_deep
- test_dict_version
- test_dictcomps
- test_dictviews
- test_dictviews:
skip:
- test_deeply_nested_repr
- test_difflib
- test_dis:
xfail-safari: safaridriver unexpectedly exited
- test_doctest:
xfail: subprocess
- test_doctest2
- test_doctest.test_doctest
- test_doctest.test_doctest2
- test_docxmlrpc:
xfail: socket
- test_dtrace:
@ -367,7 +386,10 @@
- test_epoll
- test_errno
- test_except_star
- test_exception_group
- test_exception_group:
skip:
- test_deep_split
- test_deep_subgroup
- test_exception_hierarchy
- test_exception_variations
- test_exceptions:
@ -403,13 +425,15 @@
skip:
# frozen modules are disabled in runtime
- test_unfrozen_submodule_in_frozen_package
- test_fstring
- test_fstring:
xfail-chrome: times out on Python 3.12.7
- test_ftplib:
xfail: socket
- test_funcattrs
- test_functools:
skip:
- "*threaded*"
- test_recursive_pickle
- test_future_stmt.test_future
- test_future_stmt.test_future_flags
- test_future_stmt.test_future_multiple_features
@ -540,7 +564,10 @@
# The remaining test_io tests seem to hang too
- test_ioctl
- test_ipaddress
- test_isinstance
- test_isinstance:
skip:
- "*recursion*"
- "*infinite*"
- test_iter
- test_iterlen
- test_itertools
@ -555,7 +582,8 @@
- test_json.test_pass1
- test_json.test_pass2
- test_json.test_pass3
- test_json.test_recursion
- test_json.test_recursion:
xfail: Stack overflow
- test_json.test_scanstring
- test_json.test_separators
- test_json.test_speedups
@ -588,7 +616,9 @@
- test_clearcache
- test_getline
- test_memoryerror
- test_list
- test_list:
skip:
- test_repr_deep
- test_listcomps
- test_lltrace
- test_locale:
@ -727,8 +757,8 @@
skip:
- test_stdin # fork
- test_pyclbr
- test_pydoc:
xfail: pydoc_data unvendored
- test_pydoc.test_pydoc:
xfail: Missing doc data
- test_pyexpat
- test_queue:
# More than half of these make a thread
@ -873,6 +903,8 @@
- test_sly_relative*
- test_extractall*
- test_parent_symlink*
- test_overwrite_broken_file_symlink_as_file
- test_overwrite_file_as_implicit_dir
- test_tcl
- test_telnetlib:
xfail: 7/19 fail with sockets
@ -923,6 +955,7 @@
- test_tomllib.test_misc
- test_tools.test_freeze
- test_tools.test_i18n
- test_tools.test_makefile
- test_tools.test_reindent
- test_tools.test_sundry
- test_trace:
@ -974,6 +1007,7 @@
- test_unittest.test_setups
- test_unittest.test_skipping
- test_unittest.test_suite
- test_unittest.test_util
- test_univnewlines
- test_unpack
- test_unpack_ex
@ -989,8 +1023,10 @@
- test_urllib_response
- test_urllibnet
- test_urlparse
- test_userdict
- test_userlist
- test_userdict:
xfail: Stack overflow
- test_userlist:
xfail: Stack overflow
- test_userstring
- test_utf8_mode
- test_utf8source
@ -1010,6 +1046,7 @@
- test_weakset
- test_webbrowser:
xfail: replaced
- test_winapi
- test_winconsoleio
- test_winreg
- test_winsound

View File

@ -280,7 +280,10 @@ def test_relaxed_call():
return [a, args, b]
with pytest.raises(
TypeError, match="'a' parameter is positional only, but was passed as a keyword"
TypeError,
match=re.escape(
"test_relaxed_call.<locals>.f4() missing 1 required positional argument: 'a'"
),
):
relaxed_call(f4, a=2, b=7)
@ -342,7 +345,10 @@ def test_relaxed_wrap():
return [a, args, b]
with pytest.raises(
TypeError, match="'a' parameter is positional only, but was passed as a keyword"
TypeError,
match=re.escape(
"test_relaxed_wrap.<locals>.f4() missing 1 required positional argument: 'a'"
),
):
f4(a=2, b=7)