Package: src:towncrier
Version: 24.8.0-2
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202608/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:towncrier, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3 --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with python3 --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:142: Building wheel for python3.14 with "build" 
module
I: pybuild base:385: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14  
* Building wheel...
Successfully built towncrier-24.8.0-py3-none-any.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.14 with 
"installer" module
   dh_auto_test -O--buildsystem=pybuild
I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; 
python3.14 -m pytest "/<<PKGBUILDDIR>>"/src/
============================= test session starts ==============================
platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>
configfile: pyproject.toml
collected 148 items

../../../src/towncrier/test/test_build.py .....FF........FF............. [ 20%]
............                                                             [ 28%]
../../../src/towncrier/test/test_builder.py .................            [ 39%]
../../../src/towncrier/test/test_check.py ..................F.           [ 53%]
../../../src/towncrier/test/test_create.py ............................. [ 72%]
                                                                         [ 72%]
../../../src/towncrier/test/test_format.py ......                        [ 77%]
../../../src/towncrier/test/test_git.py .                                [ 77%]
../../../src/towncrier/test/test_project.py .............                [ 86%]
../../../src/towncrier/test/test_settings.py ...............             [ 96%]
../../../src/towncrier/test/test_write.py .....                          [100%]

=================================== FAILURES ===================================
______________________ TestCli.test_default_start_string _______________________

self = <towncrier.test.test_build.TestCli testMethod=test_default_start_string>
runner = <click.testing.CliRunner object at 0x7f8645acb1d0>

    @with_project()
    def test_default_start_string(self, runner):
        """
        The default start string is ``.. towncrier release notes start``.
        """
        write("foo/newsfragments/123.feature", "Adds levitation")
        write(
            "NEWS.rst",
            contents="""
                a line
    
                another
    
                .. towncrier release notes start
    
                a footer!
            """,
            dedent=True,
        )
    
        result = runner.invoke(_main, ["--date", "01-01-2001"], 
catch_exceptions=False)
>       self.assertEqual(0, result.exit_code, result.output)

../../../src/towncrier/test/test_build.py:1323: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/twisted/trial/_synctest.py:432: in assertEqual
    super().assertEqual(first, second, msg)
E   twisted.trial.unittest.FailTest: 0 != 1 : Loading template...
E   Finding news fragments...
E   Rendering news fragments...
E   Writing to newsfile...
E   Staging newsfile...
E   I want to remove the following files:
E   /tmp/tmplkml2kph/foo/newsfragments/123.feature
E   Is it okay if I remove those files? [Y/n]:Aborted!
----------------------------- Captured stderr call -----------------------------
fatal: not a git repository (or any of the parent directories): .git
__________________ TestCli.test_default_start_string_markdown __________________

self = <towncrier.test.test_build.TestCli 
testMethod=test_default_start_string_markdown>
runner = <click.testing.CliRunner object at 0x7f8645ac6470>

    @with_project(
        config="""
        [tool.towncrier]
        package = "foo"
        filename = "NEWS.md"
        """
    )
    def test_default_start_string_markdown(self, runner):
        """
        The default start string is ``<!-- towncrier release notes start -->`` 
for
        Markdown.
        """
        write("foo/newsfragments/123.feature", "Adds levitation")
        write(
            "NEWS.md",
            contents="""
                a line
    
                another
    
                <!-- towncrier release notes start -->
    
                a footer!
            """,
            dedent=True,
        )
    
        result = runner.invoke(_main, ["--date", "01-01-2001"], 
catch_exceptions=False)
>       self.assertEqual(0, result.exit_code, result.output)

../../../src/towncrier/test/test_build.py:1377: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/twisted/trial/_synctest.py:432: in assertEqual
    super().assertEqual(first, second, msg)
E   twisted.trial.unittest.FailTest: 0 != 1 : Loading template...
E   Finding news fragments...
E   Rendering news fragments...
E   Writing to newsfile...
E   Staging newsfile...
E   I want to remove the following files:
E   /tmp/tmpn79fm9i_/foo/newsfragments/123.feature
E   Is it okay if I remove those files? [Y/n]:Aborted!
----------------------------- Captured stderr call -----------------------------
fatal: not a git repository (or any of the parent directories): .git
_________________ TestCli.test_markdown_injected_after_header __________________

self = <towncrier.test.test_build.TestCli 
testMethod=test_markdown_injected_after_header>
runner = <click.testing.CliRunner object at 0x7f8645e97590>

    @with_project(
        config="""
        [tool.towncrier]
        package = "foo"
        filename = "NEWS.md"
        title_format = "### [{project_date}] CUSTOM RELEASE for {name} version 
{version}"
        template = "custom_template.md"
        """
    )
    def test_markdown_injected_after_header(self, runner):
        """
        Test that we can inject markdown after some fixed header
        and have the injected markdown header levels set at the desired level.
        This avoids a repeat of the regression introduced in
        [#610](https://github.com/twisted/towncrier/pull/610),
        which mistakenly assumed that starting the line with '# ' would work in 
all use cases.
        """
        write("foo/newsfragments/123.feature", "Adds levitation")
        write(
            "NEWS.md",
            contents="""
                # Top title
    
                ## Section title
    
                Some text explaining something
    
                another line
    
                ## Release notes
    
                <!-- towncrier release notes start -->
    
                a footer!
            """,
            dedent=True,
        )
    
        default_template = read_pkg_resource("templates/default.md")
        write(
            "custom_template.md",
            contents=default_template.replace(
                "### {{ definitions", "#### {{ definitions"
            ),
        )
    
        result = runner.invoke(_main, ["--date", "01-01-2001"], 
catch_exceptions=False)
    
        with open("foo/newsfragments/123.feature", "w") as f:
            f.write("Adds levitation")
    
>       self.assertEqual(0, result.exit_code, result.output)

../../../src/towncrier/test/test_build.py:1151: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/twisted/trial/_synctest.py:432: in assertEqual
    super().assertEqual(first, second, msg)
E   twisted.trial.unittest.FailTest: 0 != 1 : Loading template...
E   Finding news fragments...
E   Rendering news fragments...
E   Writing to newsfile...
E   Staging newsfile...
E   I want to remove the following files:
E   /tmp/tmp0xvl8fos/foo/newsfragments/123.feature
E   Is it okay if I remove those files? [Y/n]:Aborted!
----------------------------- Captured stderr call -----------------------------
fatal: not a git repository (or any of the parent directories): .git
_____________________ TestCli.test_markdown_no_name_title ______________________

self = <towncrier.test.test_build.TestCli 
testMethod=test_markdown_no_name_title>
runner = <click.testing.CliRunner object at 0x7f8645e95c10>

    @with_project(
        config="""
        [tool.towncrier]
        name = ""
        directory = "changes"
        filename = "NEWS.md"
        version = "1.2.3"
        """
    )
    def test_markdown_no_name_title(self, runner):
        """
        When configured with an empty `name` option,
        the default template used for Markdown
        renders the title of the release note with just
        the version number and release date.
        """
        write("changes/123.feature", "Adds levitation")
        write(
            "NEWS.md",
            contents="""
                A line
    
                <!-- towncrier release notes start -->
            """,
            dedent=True,
        )
    
        result = runner.invoke(_main, ["--date", "01-01-2001"], 
catch_exceptions=False)
>       self.assertEqual(0, result.exit_code, result.output)

../../../src/towncrier/test/test_build.py:1429: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/twisted/trial/_synctest.py:432: in assertEqual
    super().assertEqual(first, second, msg)
E   twisted.trial.unittest.FailTest: 0 != 1 : Loading template...
E   Finding news fragments...
E   Rendering news fragments...
E   Writing to newsfile...
E   Staging newsfile...
E   I want to remove the following files:
E   /tmp/tmponbez02s/changes/123.feature
E   Is it okay if I remove those files? [Y/n]:Aborted!
----------------------------- Captured stderr call -----------------------------
fatal: not a git repository (or any of the parent directories): .git
_________________ TestChecker.test_none_stdout_encoding_works __________________

self = <towncrier.test.test_check.TestChecker 
testMethod=test_none_stdout_encoding_works>

    def test_none_stdout_encoding_works(self):
        """
        No failure when output is piped causing None encoding for stdout.
        """
        runner = CliRunner()
    
        with runner.isolated_filesystem():
            create_project("pyproject.toml", main_branch="master")
    
            fragment_path = "foo/newsfragments/1234.feature"
            with open(fragment_path, "w") as f:
                f.write("Adds gravity back")
    
            call(["git", "add", fragment_path])
            call(["git", "commit", "-m", "add a newsfragment"])
    
>           runner = CliRunner(mix_stderr=False)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E           TypeError: CliRunner.__init__() got an unexpected keyword argument 
'mix_stderr'

../../../src/towncrier/test/test_check.py:260: TypeError
----------------------------- Captured stdout call -----------------------------
Initialized empty Git repository in /tmp/tmp4a2j6z3p/.git/
[master (root-commit) 4dcfed8] Initial Commit
 3 files changed, 4 insertions(+)
 create mode 100644 foo/__init__.py
 create mode 100644 foo/newsfragments/123.feature
 create mode 100644 pyproject.toml
[otherbranch 929bc48] add a newsfragment
 1 file changed, 1 insertion(+)
 create mode 100644 foo/newsfragments/1234.feature
----------------------------- Captured stderr call -----------------------------
Switched to a new branch 'otherbranch'
=========================== short test summary info ============================
FAILED 
../../../src/towncrier/test/test_build.py::TestCli::test_default_start_string
FAILED 
../../../src/towncrier/test/test_build.py::TestCli::test_default_start_string_markdown
FAILED 
../../../src/towncrier/test/test_build.py::TestCli::test_markdown_injected_after_header
FAILED 
../../../src/towncrier/test/test_build.py::TestCli::test_markdown_no_name_title
FAILED 
../../../src/towncrier/test/test_check.py::TestChecker::test_none_stdout_encoding_works
======================== 5 failed, 143 passed in 1.51s =========================
E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14/build; python3.14 -m pytest "{dir}"/src/
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.14 
--parallel=2 returned exit code 13
make: *** [debian/rules:31: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2
--------------------------------------------------------------------------------

Reply via email to