See
<https://ci-builds.apache.org/job/Allura/job/Allura-py3.14/321/display/redirect?page=changes>
Changes:
[carlos.cruz] [#8593] add new package to improve parsing of html lists
------------------------------------------
[...truncated 6.39 MiB...]
response = self.wrapped_dispatch(controller, environ, context)
File "/allura-data/virtualenv/lib/python3.14/site-packages/tg/wsgiapp.py",
line 263, in _dispatch
return controller(environ, context)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/tg/controllers/dispatcher.py",
line 128, in __call__
response = self._perform_call(context)
File "/allura/Allura/allura/controllers/basetest_project_root.py", line 123,
in _perform_call
return super()._perform_call(context)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/tg/controllers/dispatcher.py",
line 117, in _perform_call
r = self._call(action, params, remainder=remainder, context=context)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/tg/controllers/decoratedcontroller.py",
line 146, in _call
response = self._render_response(context, action, output)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/tg/controllers/decoratedcontroller.py",
line 260, in _render_response
rendered = tg_render(
File "/allura-data/virtualenv/lib/python3.14/site-packages/tg/render.py",
line 216, in render
kwargs["result"] = render_function(template_name, tg_vars, **kwargs)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/tg/renderers/jinja.py",
line 137, in __call__
return cached_template(
File "/allura-data/virtualenv/lib/python3.14/site-packages/tg/render.py",
line 291, in cached_template
return render_func()
File
"/allura-data/virtualenv/lib/python3.14/site-packages/tg/renderers/jinja.py",
line 135, in render_template
return Markup(template.render(**template_vars))
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/environment.py",
line 1293, in render
return self.environment.concat(self.root_render_func(ctx)) # type: ignore
File "/allura/ForgeTracker/forgetracker/templates/tracker/ticket.html", line
36, in root
{% set editable = h.has_access(ticket, 'update') and not ticket.deleted %}
File "/allura/Allura/allura/templates/jinja_master/master.html", line 216, in
root
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
303, in call
return __obj(*args, **kwargs)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
770, in __call__
return self._invoke(arguments, autoescape)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
784, in _invoke
rv = self._func(*arguments)
File "/allura/Allura/allura/templates/jinja_master/theme_macros.html", line
143, in macro
{%- macro project_header_right(project, app) %}
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
303, in call
return __obj(*args, **kwargs)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
770, in __call__
return self._invoke(arguments, autoescape)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
784, in _invoke
rv = self._func(*arguments)
File "/allura/Allura/allura/templates/jinja_master/master.html", line 206, in
macro
});
File "/allura/Allura/allura/templates/jinja_master/master.html", line 482, in
block_content_base
File "/allura/ForgeTracker/forgetracker/templates/tracker/ticket.html", line
310, in block_content
File
"/allura-data/virtualenv/lib/python3.14/site-packages/jinja2/runtime.py", line
303, in call
return __obj(*args, **kwargs)
File "/allura/Allura/allura/lib/app_globals.py", line 148, in cached_convert
html = self.convert(source_text, render_limit=False)
File "/allura/Allura/allura/lib/app_globals.py", line 113, in convert
''.join(traceback.format_stack()), exc_info=True)
Traceback (most recent call last):
File "/allura/Allura/allura/lib/app_globals.py", line 110, in convert
return self.make_markdown_instance(**self.forge_ext_kwargs).convert(source)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/allura/Allura/allura/lib/app_globals.py", line 89, in
make_markdown_instance
return markdown.Markdown(
~~~~~~~~~~~~~~~~~^
extensions=['markdown.extensions.fenced_code',
'markdown.extensions.codehilite',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
'mdx_breakless_lists',],
^^^^^^^^^^^^^^^^^^^^^^^^
output_format='html')
^^^^^^^^^^^^^^^^^^^^^
File "/allura-data/virtualenv/lib/python3.14/site-packages/markdown/core.py",
line 126, in __init__
self.registerExtensions(extensions=kwargs.get('extensions', []),
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
configs=kwargs.get('extension_configs', {}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/allura-data/virtualenv/lib/python3.14/site-packages/markdown/core.py",
line 179, in registerExtensions
ext = self.build_extension(ext, configs.get(ext, {}))
File "/allura-data/virtualenv/lib/python3.14/site-packages/markdown/core.py",
line 225, in build_extension
module = importlib.import_module(ext_name)
File "/usr/lib/python3.14/importlib/__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1335, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mdx_breakless_lists'
INFO allura.lib.app_globals:app_globals.py:112 Invalid markdown: [#1]
Upwards trace is File "<string>", line 1, in <module>
import sys;exec(eval(sys.stdin.readline()))
File "<string>", line 8, in <module>
File
"/allura-data/virtualenv/lib/python3.14/site-packages/execnet/gateway_base.py",
line 1806, in serve
WorkerGateway(io=io, id=id, _startcount=2).serve()
File
"/allura-data/virtualenv/lib/python3.14/site-packages/execnet/gateway_base.py",
line 1273, in serve
self._execpool.integrate_as_primary_thread()
File
"/allura-data/virtualenv/lib/python3.14/site-packages/execnet/gateway_base.py",
line 389, in integrate_as_primary_thread
self._perform_spawn(reply)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/execnet/gateway_base.py",
line 411, in _perform_spawn
reply.run()
File
"/allura-data/virtualenv/lib/python3.14/site-packages/execnet/gateway_base.py",
line 341, in run
self._result = func(*args, **kwargs)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/execnet/gateway_base.py",
line 1291, in executetask
exec(co, loc)
File "/allura-data/virtualenv/lib/python3.14/site-packages/xdist/remote.py",
line 427, in <module>
config.hook.pytest_cmdline_main(config=config)
File "/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_hooks.py",
line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_manager.py", line
120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_callers.py", line
121, in _multicall
res = hook_impl.function(*args)
File "/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/main.py",
line 336, in pytest_cmdline_main
return wrap_session(config, _main)
File "/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/main.py",
line 289, in wrap_session
session.exitstatus = doit(config, session) or 0
File "/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/main.py",
line 343, in _main
config.hook.pytest_runtestloop(session=session)
File "/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_hooks.py",
line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_manager.py", line
120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_callers.py", line
121, in _multicall
res = hook_impl.function(*args)
File "/allura-data/virtualenv/lib/python3.14/site-packages/xdist/remote.py",
line 206, in pytest_runtestloop
self.run_one_test()
File "/allura-data/virtualenv/lib/python3.14/site-packages/xdist/remote.py",
line 227, in run_one_test
self.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_hooks.py",
line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_manager.py", line
120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_callers.py", line
121, in _multicall
res = hook_impl.function(*args)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/runner.py", line
117, in pytest_runtest_protocol
runtestprotocol(item, nextitem=nextitem)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/runner.py", line
136, in runtestprotocol
reports.append(call_and_report(item, "call", log))
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/runner.py", line
245, in call_and_report
call = CallInfo.from_call(
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/runner.py", line
344, in from_call
result: TResult | None = func()
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/runner.py", line
246, in <lambda>
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_hooks.py",
line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_manager.py", line
120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_callers.py", line
121, in _multicall
res = hook_impl.function(*args)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/runner.py", line
178, in pytest_runtest_call
item.runtest()
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/python.py", line
1671, in runtest
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_hooks.py",
line 512, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_manager.py", line
120, in _hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/pluggy/_callers.py", line
121, in _multicall
res = hook_impl.function(*args)
File
"/allura-data/virtualenv/lib/python3.14/site-packages/_pytest/python.py", line
157, in pytest_pyfunc_call
result = testfunction(**testargs)
File "/allura/Allura/allura/tests/decorators.py", line 83, in wrapped
return func(*args, **kw)
File "/allura/ForgeTracker/forgetracker/tests/functional/test_root.py", line
3393, in test_ambiguous_shortlinks
assert g.markdown.convert('[#1]') == link
File "/allura/Allura/allura/lib/app_globals.py", line 113, in convert
''.join(traceback.format_stack()), exc_info=True)
Traceback (most recent call last):
File "/allura/Allura/allura/lib/app_globals.py", line 110, in convert
return self.make_markdown_instance(**self.forge_ext_kwargs).convert(source)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "/allura/Allura/allura/lib/app_globals.py", line 89, in
make_markdown_instance
return markdown.Markdown(
~~~~~~~~~~~~~~~~~^
extensions=['markdown.extensions.fenced_code',
'markdown.extensions.codehilite',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
'mdx_breakless_lists',],
^^^^^^^^^^^^^^^^^^^^^^^^
output_format='html')
^^^^^^^^^^^^^^^^^^^^^
File "/allura-data/virtualenv/lib/python3.14/site-packages/markdown/core.py",
line 126, in __init__
self.registerExtensions(extensions=kwargs.get('extensions', []),
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
configs=kwargs.get('extension_configs', {}))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/allura-data/virtualenv/lib/python3.14/site-packages/markdown/core.py",
line 179, in registerExtensions
ext = self.build_extension(ext, configs.get(ext, {}))
File "/allura-data/virtualenv/lib/python3.14/site-packages/markdown/core.py",
line 225, in build_extension
module = importlib.import_module(ext_name)
File "/usr/lib/python3.14/importlib/__init__.py", line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
File "<frozen importlib._bootstrap>", line 1335, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mdx_breakless_lists'
=============================== warnings summary ===============================
../../allura-data/virtualenv/lib/python3.14/site-packages/paste/script/copydir.py:4
../../allura-data/virtualenv/lib/python3.14/site-packages/paste/script/copydir.py:4
../../allura-data/virtualenv/lib/python3.14/site-packages/paste/script/copydir.py:4
../../allura-data/virtualenv/lib/python3.14/site-packages/paste/script/copydir.py:4
/allura-data/virtualenv/lib/python3.14/site-packages/paste/script/copydir.py:4:
UserWarning: pkg_resources is deprecated as an API. See
https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources
package is slated for removal as early as 2025-11-30. Refrain from using this
package or pin to Setuptools<81.
import pkg_resources
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
---------- generated xml file: /allura/ForgeTracker/pytest.junit.xml -----------
=========================== short test summary info ============================
FAILED forgetracker/tests/unit/test_ticket_model.py::TestTicketModel::test_feed
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_mass_edit
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_label_for_mass_edit
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_mass_edit_custom_fields
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_mass_edit_private_field
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_private_ticket
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_discussion_disabled_ticket
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_cached_convert
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_ticket_diffs
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_ticket_label_unlabel
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_new_attachment
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_delete_attachment
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_related_artifacts
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_related_artifacts_closed_tickets
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_assign_ticket
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_custom_field_update_comments
FAILED
forgetracker/tests/functional/test_root.py::TestFunctionalController::test_html_escaping
FAILED
forgetracker/tests/functional/test_root.py::TestCustomUserField::test_change_user_field
FAILED
forgetracker/tests/functional/test_root.py::TestHelpTextOptions::test_help_text
FAILED
forgetracker/tests/functional/test_root.py::TestBulkMove::test_ticket_list
FAILED
forgetracker/tests/functional/test_root.py::TestArtifactLinks::test_ambiguous_shortlinks
============ 21 failed, 183 passed, 4 warnings in 268.13s (0:04:28) ============
finished `pytest --junit-xml=pytest.junit.xml -n 4 --dist loadfile` in
ForgeTracker, with returncode: 1
=============================================================================
Shutdown
=============================================================================
Container allura-web-1 Stopping
Container allura-web-1 Stopped
Container allura-web-1 Removing
Container allura-web-1 Removed
Container allura-mongo-1 Stopping
Container allura-solr-1 Stopping
Container allura-mongo-1 Stopped
Container allura-mongo-1 Removing
Container allura-mongo-1 Removed
Container allura-solr-1 Stopped
Container allura-solr-1 Removing
Container allura-solr-1 Removed
Network allura_default Removing
Network allura_default Removed
Total reclaimed space: 0B
Deleted Volumes:
1f58076a2e54d3f736b7260b658c1ebc0633fb27dc3ec3cb22ad5754567ad74e
Total reclaimed space: 0B
Build step 'Execute shell' marked build as failure
Recording test results
[Checks API] No suitable checks publisher found.