==> Building on manectric ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 727 100% 0.00kB/s 0:00:00 727 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 48 100% 46.88kB/s 0:00:00 48 100% 46.88kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,514 100% 1.44MB/s 0:00:00 1,514 100% 1.44MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) python-invoke-2.2.1-2.log 696 100% 679.69kB/s 0:00:00 696 100% 679.69kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,549 bytes received 144 bytes 5,386.00 bytes/sec total size is 3,516 speedup is 1.31 ==> Running pkgctl build --arch riscv64 on remote host... ==> WARNING: invalid architecture: riscv64 ==> Updating pacman database cache [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==> Building python-invoke  -> repo: extra  -> arch: riscv64  -> worker: felix-5 ==> Building python-invoke for [extra] (riscv64) ]3008;start=b715828870c948d2bf20070180254bf2;user=root;hostname=manectric.felixc.at;machineid=533da39fd6d44e2ab82ad0af9ca241c3;bootid=5b4021f5990b4137b31c8881b9629ea7;pid=3547843;pidfdid=7741282;comm=systemd-nspawn;container=arch-nspawn-3547843;type=container\]11;?\]2;🔵 Container arch-nspawn-3547843 on manectric.felixc.at\:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [!p]104[?7h]3008;end=b715828870c948d2bf20070180254bf2\==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-5]...done ==> Making package: python-invoke 2.2.1-2 (Wed Jan 28 07:07:24 2026) ==> Retrieving sources...  -> Downloading invoke-2.2.1.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 302.9k 0 302.9k 0 0 455.1k 0 0 100 302.9k 0 302.9k 0 0 455.0k 0 0 100 302.9k 0 302.9k 0 0 454.9k 0 0 ==> Validating source files with sha512sums... invoke-2.2.1.tar.gz ... Passed ]3008;start=bd84d54571a4450abeb1dd0ec870ce6d;user=root;hostname=manectric.felixc.at;machineid=533da39fd6d44e2ab82ad0af9ca241c3;bootid=5b4021f5990b4137b31c8881b9629ea7;pid=3549913;pidfdid=7743352;comm=systemd-nspawn;container=arch-nspawn-3549913;type=container\]11;?\]2;🔵 Container arch-nspawn-3549913 on manectric.felixc.at\==> Making package: python-invoke 2.2.1-2 (Wed Jan 28 06:07:38 2026) ==> Checking runtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (6) New Version Net Change Download Size extra/libyaml 0.2.5-3 0.16 MiB core/mpdecimal 4.0.1-1 0.31 MiB core/python 3.14.2-2 132.78 MiB extra/python-fluidity 0.2.1-7 0.05 MiB 0.01 MiB extra/python-lexicon 3.0.0-2 0.03 MiB 0.01 MiB extra/python-yaml 6.0.3-2 0.93 MiB Total Download Size: 0.03 MiB Total Installed Size: 134.25 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-fluidity-0.2.1-7-any downloading... python-lexicon-3.0.0-2-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-fluidity... installing python-lexicon... installing libyaml... installing python-yaml... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Checking buildtime dependencies... ==> Installing missing dependencies... resolving dependencies... looking for conflicting packages... Package (23) New Version Net Change Download Size extra/python-asttokens 3.0.1-1 0.20 MiB 0.05 MiB extra/python-autocommand 2.2.2-9 0.08 MiB extra/python-colorama 0.4.6-6 0.25 MiB 0.05 MiB extra/python-decorator 5.2.1-2 0.07 MiB 0.02 MiB extra/python-executing 2.2.1-3 0.29 MiB 0.06 MiB extra/python-iniconfig 2.1.0-3.1 0.05 MiB extra/python-jaraco.collections 5.1.0-3 0.11 MiB extra/python-jaraco.context 6.0.1-3 0.04 MiB extra/python-jaraco.functools 4.1.0-3 0.07 MiB extra/python-jaraco.text 4.0.0-4 0.08 MiB extra/python-more-itertools 10.8.0-2 0.73 MiB extra/python-packaging 26.0-1 0.89 MiB extra/python-platformdirs 4.5.1-3 0.28 MiB extra/python-pluggy 1.6.0-3.1 0.23 MiB extra/python-pygments 2.19.2-3 15.30 MiB extra/python-pyproject-hooks 1.2.0-6 0.11 MiB extra/python-build 1.4.0-1 0.24 MiB extra/python-icecream 2.1.10-1 0.10 MiB 0.03 MiB extra/python-installer 0.7.0-14 0.20 MiB extra/python-pytest 1:8.4.2-3 4.69 MiB extra/python-pytest-relaxed 2.0.2-4 0.06 MiB 0.02 MiB extra/python-setuptools 1:80.9.0-4 8.03 MiB extra/python-wheel 0.45.1-4 0.30 MiB Total Download Size: 0.22 MiB Total Installed Size: 32.41 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-executing-2.2.1-3-any downloading... python-colorama-0.4.6-6-any downloading... python-asttokens-3.0.1-1-any downloading... python-icecream-2.1.10-1-any downloading... python-pytest-relaxed-2.0.2-4-any downloading... python-decorator-5.2.1-2-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-more-itertools... installing python-jaraco.functools... installing python-jaraco.context... installing python-autocommand... installing python-jaraco.text... Optional dependencies for python-jaraco.text python-inflect: for show-newlines script installing python-jaraco.collections... installing python-platformdirs... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures python-setuptools: for legacy bdist_wheel subcommand [pending] installing python-setuptools... installing python-colorama... installing python-pygments... installing python-executing... installing python-asttokens... installing python-icecream... installing python-iniconfig... installing python-pluggy... installing python-pytest... installing python-decorator... installing python-pytest-relaxed... :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... ==> Retrieving sources... -> Found invoke-2.2.1.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources... -> Extracting invoke-2.2.1.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... * Getting build dependencies for wheel... /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info creating invoke.egg-info writing invoke.egg-info/PKG-INFO writing dependency_links to invoke.egg-info/dependency_links.txt writing entry points to invoke.egg-info/entry_points.txt writing top-level names to invoke.egg-info/top_level.txt writing manifest file 'invoke.egg-info/SOURCES.txt' reading manifest file 'invoke.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*' found under directory 'sites/*/_build' warning: no previously-included files matching '*.pyc' found under directory '*' warning: no previously-included files matching '*.pyo' found under directory '*' warning: no previously-included files matching '*' found under directory '**/__pycache__' adding license file 'LICENSE' writing manifest file 'invoke.egg-info/SOURCES.txt' * Building wheel... /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_py creating build/lib/invoke copying invoke/__init__.py -> build/lib/invoke copying invoke/__main__.py -> build/lib/invoke copying invoke/_version.py -> build/lib/invoke copying invoke/collection.py -> build/lib/invoke copying invoke/config.py -> build/lib/invoke copying invoke/context.py -> build/lib/invoke copying invoke/env.py -> build/lib/invoke copying invoke/exceptions.py -> build/lib/invoke copying invoke/executor.py -> build/lib/invoke copying invoke/loader.py -> build/lib/invoke copying invoke/main.py -> build/lib/invoke copying invoke/program.py -> build/lib/invoke copying invoke/runners.py -> build/lib/invoke copying invoke/tasks.py -> build/lib/invoke copying invoke/terminals.py -> build/lib/invoke copying invoke/util.py -> build/lib/invoke copying invoke/watchers.py -> build/lib/invoke creating build/lib/invoke/completion copying invoke/completion/__init__.py -> build/lib/invoke/completion copying invoke/completion/complete.py -> build/lib/invoke/completion creating build/lib/invoke/parser copying invoke/parser/__init__.py -> build/lib/invoke/parser copying invoke/parser/argument.py -> build/lib/invoke/parser copying invoke/parser/context.py -> build/lib/invoke/parser copying invoke/parser/parser.py -> build/lib/invoke/parser running egg_info writing invoke.egg-info/PKG-INFO writing dependency_links to invoke.egg-info/dependency_links.txt writing entry points to invoke.egg-info/entry_points.txt writing top-level names to invoke.egg-info/top_level.txt reading manifest file 'invoke.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*' found under directory 'sites/*/_build' warning: no previously-included files matching '*.pyc' found under directory '*' warning: no previously-included files matching '*.pyo' found under directory '*' warning: no previously-included files matching '*' found under directory '**/__pycache__' adding license file 'LICENSE' writing manifest file 'invoke.egg-info/SOURCES.txt' copying invoke/py.typed -> build/lib/invoke copying invoke/completion/bash.completion -> build/lib/invoke/completion copying invoke/completion/fish.completion -> build/lib/invoke/completion copying invoke/completion/zsh.completion -> build/lib/invoke/completion installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/invoke copying build/lib/invoke/__init__.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/__main__.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/_version.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/collection.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/config.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/context.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/env.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/exceptions.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/executor.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/loader.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/main.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/program.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/runners.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/tasks.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/terminals.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/util.py -> build/bdist.linux-riscv64/wheel/./invoke copying build/lib/invoke/watchers.py -> build/bdist.linux-riscv64/wheel/./invoke creating build/bdist.linux-riscv64/wheel/invoke/completion copying build/lib/invoke/completion/__init__.py -> build/bdist.linux-riscv64/wheel/./invoke/completion copying build/lib/invoke/completion/complete.py -> build/bdist.linux-riscv64/wheel/./invoke/completion copying build/lib/invoke/completion/bash.completion -> build/bdist.linux-riscv64/wheel/./invoke/completion copying build/lib/invoke/completion/fish.completion -> build/bdist.linux-riscv64/wheel/./invoke/completion copying build/lib/invoke/completion/zsh.completion -> build/bdist.linux-riscv64/wheel/./invoke/completion creating build/bdist.linux-riscv64/wheel/invoke/parser copying build/lib/invoke/parser/__init__.py -> build/bdist.linux-riscv64/wheel/./invoke/parser copying build/lib/invoke/parser/argument.py -> build/bdist.linux-riscv64/wheel/./invoke/parser copying build/lib/invoke/parser/context.py -> build/bdist.linux-riscv64/wheel/./invoke/parser copying build/lib/invoke/parser/parser.py -> build/bdist.linux-riscv64/wheel/./invoke/parser copying build/lib/invoke/py.typed -> build/bdist.linux-riscv64/wheel/./invoke running install_egg_info Copying invoke.egg-info to build/bdist.linux-riscv64/wheel/./invoke-2.2.1-py3.14.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/invoke-2.2.1.dist-info/WHEEL creating '/build/python-invoke/src/invoke-2.2.1/dist/.tmp-8nwvy6iw/invoke-2.2.1-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'invoke/__init__.py' adding 'invoke/__main__.py' adding 'invoke/_version.py' adding 'invoke/collection.py' adding 'invoke/config.py' adding 'invoke/context.py' adding 'invoke/env.py' adding 'invoke/exceptions.py' adding 'invoke/executor.py' adding 'invoke/loader.py' adding 'invoke/main.py' adding 'invoke/program.py' adding 'invoke/py.typed' adding 'invoke/runners.py' adding 'invoke/tasks.py' adding 'invoke/terminals.py' adding 'invoke/util.py' adding 'invoke/watchers.py' adding 'invoke/completion/__init__.py' adding 'invoke/completion/bash.completion' adding 'invoke/completion/complete.py' adding 'invoke/completion/fish.completion' adding 'invoke/completion/zsh.completion' adding 'invoke/parser/__init__.py' adding 'invoke/parser/argument.py' adding 'invoke/parser/context.py' adding 'invoke/parser/parser.py' adding 'invoke-2.2.1.dist-info/licenses/LICENSE' adding 'invoke-2.2.1.dist-info/METADATA' adding 'invoke-2.2.1.dist-info/WHEEL' adding 'invoke-2.2.1.dist-info/entry_points.txt' adding 'invoke-2.2.1.dist-info/top_level.txt' adding 'invoke-2.2.1.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Successfully built invoke-2.2.1-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.14.2, pytest-8.4.2, pluggy-1.6.0 rootdir: /build/python-invoke/src/invoke-2.2.1 configfile: pytest.ini testpaths: tests plugins: relaxed-2.0.2 collected 979 items / 18 deselected / 961 selected tests/cli.py ...................... tests/collection.py .......................................................................................... tests/completion.py ......................... tests/concurrency.py ...... tests/config.py ................................................................................................................... tests/context.py .................................s.s.............................................. tests/executor.py ..................................... tests/init.py ............................ tests/loader.py .............. tests/merge_dicts.py ............ tests/parser_argument.py ..................s................... tests/parser_context.py ............................................. tests/parser_parser.py ............................................................ tests/program.py ...........................................................ss.............................................................. tests/runners.py ...........................................s...........................................s............................F.FFF................................................. tests/task.py ......s................................................................. tests/terminals.py ......ss tests/util.py ....... tests/watchers.py ....... =================================== FAILURES =================================== _______ Runner_.character_buffered_stdin.setcbreak_called_on_tty_stdins ________ self = mock_tty = mock_termios = @skip_if_windows @patch("invoke.terminals.tty") def setcbreak_called_on_tty_stdins(self, mock_tty, mock_termios): mock_termios.tcgetattr.return_value = _make_tcattrs(echo=True) self._run(_) > mock_tty.setcbreak.assert_called_with(sys.stdin) tests/runners.py:1241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = (<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>,) kwargs = {} expected = "setcbreak(<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>)" actual = 'not called.' error_message = "expected call not found.\nExpected: setcbreak(<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>)\n Actual: not called." def assert_called_with(self, /, *args, **kwargs): """assert that the last call was made with the specified arguments. Raises an AssertionError if the args and keyword args passed in are different to the last call to the mock.""" if self.call_args is None: expected = self._format_mock_call_signature(args, kwargs) actual = 'not called.' error_message = ('expected call not found.\nExpected: %s\n Actual: %s' % (expected, actual)) > raise AssertionError(error_message) E AssertionError: expected call not found. E Expected: setcbreak(<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>) E Actual: not called. /usr/lib/python3.14/unittest/mock.py:976: AssertionError _ Runner_.character_buffered_stdin.setcbreak_not_called_if_process_not_foregrounded _ self = mock_os = mock_tty = @skip_if_windows @patch("invoke.terminals.tty") @patch("invoke.terminals.os") def setcbreak_not_called_if_process_not_foregrounded( self, mock_os, mock_tty ): # Re issue #439. mock_os.getpgrp.return_value = 1337 mock_os.tcgetpgrp.return_value = 1338 self._run(_) assert not mock_tty.setcbreak.called # Sanity > mock_os.tcgetpgrp.assert_called_once_with(sys.stdin.fileno()) tests/runners.py:1261: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args = (0,) kwargs = {}, msg = "Expected 'tcgetpgrp' to be called once. Called 0 times." def assert_called_once_with(self, /, *args, **kwargs): """assert that the mock was called exactly once and that that call was with the specified arguments.""" if not self.call_count == 1: msg = ("Expected '%s' to be called once. Called %s times.%s" % (self._mock_name or 'mock', self.call_count, self._calls_repr())) > raise AssertionError(msg) E AssertionError: Expected 'tcgetpgrp' to be called once. Called 0 times. /usr/lib/python3.14/unittest/mock.py:996: AssertionError _ Runner_.character_buffered_stdin.tty_stdins_have_settings_restored_by_default _ self = mock_tty = mock_termios = @skip_if_windows @patch("invoke.terminals.tty") def tty_stdins_have_settings_restored_by_default( self, mock_tty, mock_termios ): # Get already-cbroken attrs since that's an easy way to get the # right format/layout attrs = _make_tcattrs(echo=True) mock_termios.tcgetattr.return_value = attrs self._run(_) # Ensure those old settings are being restored > mock_termios.tcsetattr.assert_called_once_with( sys.stdin, mock_termios.TCSADRAIN, attrs ) tests/runners.py:1274: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = (<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>, , [None, None, None, -3, None, None, ...]) kwargs = {}, msg = "Expected 'tcsetattr' to be called once. Called 0 times." def assert_called_once_with(self, /, *args, **kwargs): """assert that the mock was called exactly once and that that call was with the specified arguments.""" if not self.call_count == 1: msg = ("Expected '%s' to be called once. Called %s times.%s" % (self._mock_name or 'mock', self.call_count, self._calls_repr())) > raise AssertionError(msg) E AssertionError: Expected 'tcsetattr' to be called once. Called 0 times. /usr/lib/python3.14/unittest/mock.py:996: AssertionError _ Runner_.character_buffered_stdin.tty_stdins_have_settings_restored_on_KeyboardInterrupt _ self = mock_tty = mock_termios = @skip_if_windows @patch("invoke.terminals.tty") # stub def tty_stdins_have_settings_restored_on_KeyboardInterrupt( self, mock_tty, mock_termios ): # This test is re: GH issue #303 sentinel = _make_tcattrs(echo=True) mock_termios.tcgetattr.return_value = sentinel # Don't actually bubble up the KeyboardInterrupt... try: self._run(_, klass=_KeyboardInterruptingRunner) except KeyboardInterrupt: pass # Did we restore settings?! > mock_termios.tcsetattr.assert_called_once_with( sys.stdin, mock_termios.TCSADRAIN, sentinel ) tests/runners.py:1292: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = (<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>, , [None, None, None, -3, None, None, ...]) kwargs = {}, msg = "Expected 'tcsetattr' to be called once. Called 0 times." def assert_called_once_with(self, /, *args, **kwargs): """assert that the mock was called exactly once and that that call was with the specified arguments.""" if not self.call_count == 1: msg = ("Expected '%s' to be called once. Called %s times.%s" % (self._mock_name or 'mock', self.call_count, self._calls_repr())) > raise AssertionError(msg) E AssertionError: Expected 'tcsetattr' to be called once. Called 0 times. /usr/lib/python3.14/unittest/mock.py:996: AssertionError =========================== short test summary info ============================ FAILED tests/runners.py::Runner_::character_buffered_stdin::setcbreak_called_on_tty_stdins FAILED tests/runners.py::Runner_::character_buffered_stdin::setcbreak_not_called_if_process_not_foregrounded FAILED tests/runners.py::Runner_::character_buffered_stdin::tty_stdins_have_settings_restored_by_default FAILED tests/runners.py::Runner_::character_buffered_stdin::tty_stdins_have_settings_restored_on_KeyboardInterrupt ========== 4 failed, 947 passed, 10 skipped, 18 deselected in 46.46s =========== ==> ERROR: A failure occurred in check(). Aborting... [!p]104[?7h]3008;end=bd84d54571a4450abeb1dd0ec870ce6d\==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-5/build [?25h[?25h[?25hreceiving incremental file list python-invoke-2.2.1-2-riscv64-build.log python-invoke-2.2.1-2-riscv64-check.log python-invoke-2.2.1-2-riscv64-prepare.log sent 81 bytes received 3,539 bytes 7,240.00 bytes/sec total size is 18,168 speedup is 5.02