python-sphinx-tabs fails to build with Sphinx 7.2.6 on Fedora Rawhide (40+). The issue detected: ``` _____________ test_conditional_assets_html_assets_policy[no_tabs2] _____________ app = <SphinxTestApp buildername='html'>, docname = 'no_tabs2' status = <_io.StringIO object at 0x7f8431374b80> warning = <_io.StringIO object at 0x7f8431374700> check_build_success = <function check_build_success.<locals>.check at 0x7f8431562520> get_sphinx_app_doctree = <function get_sphinx_app_doctree.<locals>.read at 0x7f84317ded40> regress_sphinx_app_output = <function regress_sphinx_app_output.<locals>.read at 0x7f84317dfa60> check_asset_links = <function check_asset_links.<locals>.check at 0x7f84317dd1c0> @pytest.mark.noautobuild @pytest.mark.parametrize("docname", ["index", "no_tabs1", "no_tabs2"]) @pytest.mark.sphinx(testroot="conditionalassets-policy") def test_conditional_assets_html_assets_policy( app, docname, status, warning, check_build_success, get_sphinx_app_doctree, regress_sphinx_app_output, check_asset_links, ): app.set_html_assets_policy("always") # Following lines are copied from ``auto_build_and_check`` since we need to # set a config in the build object before auto build. Because of this, we # need to use ``noautobuild``. app.build() check_build_success(status, warning) get_sphinx_app_doctree(app, regress=True) > regress_sphinx_app_output(app) tests/test_build.py:49: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ app = <SphinxTestApp buildername='html'>, buildername = 'html' filename = 'index.html', encoding = 'utf-8' def read(app, buildername="html", filename="index.html", encoding="utf-8"): content = get_sphinx_app_output(app, buildername, filename, encoding) if buildername == "html": soup = BeautifulSoup(content, "html.parser") # Remove output from ``pygments``, so that test only compares HTML of surrounding tabs for div in soup.find_all("div", {"class": "highlight"}): div.decompose() doc_div = soup.findAll("div", {"class": "documentwrapper"})[0] doc = doc_div.prettify() else: doc = content > file_regression.check( doc, extension="." + filename.split(".")[-1], encoding="utf8" ) E AssertionError: FILES DIFFER: E /tmp/pytest-of-mockbuild/pytest-0/test_conditional_assets_html_a2/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.html E /tmp/pytest-of-mockbuild/pytest-0/test_conditional_assets_html_a2/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.obtained.html E HTML DIFF: /tmp/pytest-of-mockbuild/pytest-0/test_conditional_assets_html_a2/test_build/test_conditional_assets_html_assets_policy_no_tabs2_.obtained.diff.html E --- E +++ E @@ -18,7 +18,7 @@ E <section id="fruits"> E <h1> E Fruits E - <a class="headerlink" href="#fruits" title="Permalink to this heading"> E + <a class="headerlink" href="#fruits" title="Link to this heading"> E ¶ E </a> E </h1> E @@ -54,7 +54,7 @@ E <section id="luminaries"> E <h1> E Luminaries E - <a class="headerlink" href="#luminaries" title="Permalink to this heading"> E + <a class="headerlink" href="#luminaries" title="Link to this heading"> E ¶ E </a> E </h1> E @@ -82,7 +82,7 @@ E <section id="code-tabs"> E <h1> E Code Tabs E - <a class="headerlink" href="#code-tabs" title="Permalink to this heading"> E + <a class="headerlink" href="#code-tabs" title="Link to this heading"> E ¶ E </a> E </h1> E @@ -182,7 +182,7 @@ E <section id="group-tabs"> E <h1> E Group Tabs E - <a class="headerlink" href="#group-tabs" title="Permalink to this heading"> E + <a class="headerlink" href="#group-tabs" title="Link to this heading"> E ¶ E </a> E </h1> tests/conftest.py:100: AssertionError --------------------------- Captured stdout teardown --------------------------- # testroot: root # builder: html # srcdir: /tmp/pytest-of-mockbuild/pytest-0/conditionalassets-policy # outdir: /tmp/pytest-of-mockbuild/pytest-0/conditionalassets-policy/_build/html # status: Running Sphinx v7.2.6 loading pickled environment... done building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 0 source files that are out of date updating environment: 0 added, 0 changed, 0 removed reading sources... looking for now-outdated files... none found no targets are out of date. build succeeded. The HTML pages are in ../../../../tmp/pytest-of-mockbuild/pytest-0/conditionalassets-policy/_build/html. # warning: =========================== short test summary info ============================ FAILED tests/test_build.py::test_conditional_assets_html_assets_policy[index] FAILED tests/test_build.py::test_conditional_assets_html_assets_policy[no_tabs1] FAILED tests/test_build.py::test_conditional_assets_html_assets_policy[no_tabs2] ERROR tests/test_build.py::test_conditional_assets[index] - AssertionError: F... ERROR tests/test_build.py::test_conditional_assets[no_tabs1] - AssertionError... ERROR tests/test_build.py::test_conditional_assets[no_tabs2] - AssertionError... ERROR tests/test_build.py::test_nested_markup - AssertionError: FILES DIFFER: ======= 3 failed, 6 passed, 1 deselected, 42 warnings, 4 errors in 2.14s ======= ``` Apparently, the build failures are fixed by the upstream version 3.4.4. For the logs from testing build attempts, see: https://copr.fedorainfracloud.org/coprs/ksurma/sphinx-7.2.6/package/python-sphinx-tabs You can test you package in mock running: $ mock -r fedora-rawhide-x86_64 --addrepo=https://download.copr.fedorainfracloud.org/results/ksurma/sphinx-7.2.6/fedora-rawhide-x86_64/ --no-clean your.src.rpm $ mock -r fedora-rawhide-x86_64 --addrepo=https://download.copr.fedorainfracloud.org/results/ksurma/sphinx-7.2.6/fedora-rawhide-x86_64/ shell We'd like to include Sphinx 7.2.x in Fedora 40. Let us know here if you have any questions. Thank You!
Unfortunately 3.4.4 doesn't build in current rawhide so looks like the builds will have to be pushed together. If you are a proven packager I can push the update but let you do the build in a side tag.
Yes, I see that 3.4.4 will build fine with Sphinx 7.2.6: https://copr.fedorainfracloud.org/coprs/ksurma/sphinx-7.2.6/build/6590948/ I'm not a proven packager but afaik this only concerns the merging in dist-git, the builds can be triggered by anyone. I will do the joint update for sphinx and sphinx-tabs if you push the update. Thank you.
Pushed to dist-git.
Included in a common update: https://bodhi.fedoraproject.org/updates/FEDORA-2023-1278571c9e
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40.
FEDORA-2024-8680c9ca26 (python-sphinx-tabs-3.4.7-1.fc40) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-8680c9ca26
FEDORA-2024-485232f2f5 (python-sphinx-tabs-3.4.7-1.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-485232f2f5
FEDORA-2024-8680c9ca26 has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-8680c9ca26` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-8680c9ca26 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-485232f2f5 has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-485232f2f5` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-485232f2f5 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2024-8680c9ca26 (python-sphinx-tabs-3.4.7-1.fc40) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2024-485232f2f5 (python-sphinx-tabs-3.4.7-1.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.