Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure: rich-cli #382423

Closed
3 tasks done
myamusashi opened this issue Feb 15, 2025 · 1 comment
Closed
3 tasks done

Build failure: rich-cli #382423

myamusashi opened this issue Feb 15, 2025 · 1 comment
Labels
0.kind: build failure A package fails to build

Comments

@myamusashi
Copy link
Contributor

Nixpkgs version

  • Unstable (25.05)

Steps to reproduce

nix-shell -p rich-cli
Build failed when package start testing

Can Hydra reproduce this build failure?

The last build job was manually cancelled.

Link to Hydra build job

https://hydra.nixos.org/job/nixos/pr-193600-aarch64-support/nixpkgs.rich-cli.x86_64-linux

Relevant log output

building '/nix/store/hdyg3h05wyc0cgfzmf79zdczqvnl15pr-python3.12-textual-1.0.0.drv'...
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing pypa-build-hook
Using pypaBuildPhase
Sourcing python-runtime-deps-check-hook
Using pythonRuntimeDepsCheckHook
Sourcing pypa-install-hook
Using pypaInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing pytest-check-hook
Using pytestCheckPhase
Running phase: unpackPhase
unpacking source archive /nix/store/ivj720i151spnqszbd1lm6yv12dbldmg-source
source root is source
setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "source/tools/widget_documentation.py"
Running phase: patchPhase
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
no configure script, doing nothing
Running phase: buildPhase
Executing pypaBuildPhase
Creating a wheel...
pypa build flags: --no-isolation --outdir dist/ --wheel
* Getting build dependencies for wheel...
* Building wheel...
Successfully built textual-1.0.0-py3-none-any.whl
Finished creating a wheel...
Finished executing pypaBuildPhase
Running phase: pythonRuntimeDepsCheckHook
Executing pythonRuntimeDepsCheck
Checking runtime dependencies for textual-1.0.0-py3-none-any.whl
Finished executing pythonRuntimeDepsCheck
Running phase: installPhase
Executing pypaInstallPhase
Successfully installed textual-1.0.0-py3-none-any.whl
Finished executing pypaInstallPhase
Running phase: pythonOutputDistPhase
Executing pythonOutputDistPhase
Finished executing pythonOutputDistPhase
Running phase: fixupPhase
shrinking RPATHs of ELF executables and libraries in /nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0
checking for references to /build/ in /nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0...
patching script interpreter paths in /nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0
stripping (with command strip and flags -S -p) in  /nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib
shrinking RPATHs of ELF executables and libraries in /nix/store/vyh2s4lbjkzlsv10aljvqid5mvfgg230-python3.12-textual-1.0.0-dist
checking for references to /build/ in /nix/store/vyh2s4lbjkzlsv10aljvqid5mvfgg230-python3.12-textual-1.0.0-dist...
patching script interpreter paths in /nix/store/vyh2s4lbjkzlsv10aljvqid5mvfgg230-python3.12-textual-1.0.0-dist
Executing pythonRemoveTestsDir
Finished executing pythonRemoveTestsDir
Running phase: installCheckPhase
no Makefile or custom installCheckPhase, doing nothing
Running phase: pythonCatchConflictsPhase
Running phase: pythonRemoveBinBytecodePhase
Running phase: pythonImportsCheckPhase
Executing pythonImportsCheckPhase
Check whether the following modules can be imported: textual
Running phase: pytestCheckPhase
Executing pytestCheckPhase
pytest flags: -m pytest -k not\ test_textual_env_var\ and\ not\ test_register_language\ and\ not\ test_setting_unknown_language\ and\ not\ test_update_highlight_query --ignore-glob=tests/snapshot_tests/test_snapshots.py --dist=loadgroup --numprocesses=4
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
rootdir: /build/source
configfile: pyproject.toml
testpaths: tests
plugins: aiohttp-1.1.0, asyncio-0.25.2, xdist-3.6.1, syrupy-4.8.1, time-machine-2.15.0
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
4 workers [2749 items] m
........................................................................ [  2%]
.............................................x.......................... [  5%]
........................................................................ [  7%]
........................................................................ [ 10%]
........................................................................ [ 13%]
........................................................................ [ 15%]
........................................................................ [ 18%]
........................................................................ [ 20%]
........................................................................ [ 23%]
........................................................................ [ 26%]
........................................................................ [ 28%]
........................................................................ [ 31%]
........................................................................ [ 34%]
........................................................................ [ 36%]
........................................................................ [ 39%]
........................................................................ [ 41%]
.........................................x.............................. [ 44%]
........................................................................ [ 47%]
........................................................................ [ 49%]
...EE................................................................... [ 52%]
............................x........................................... [ 55%]
........................................................................ [ 57%]
........................................................................ [ 60%]
........................................................................ [ 62%]
........................................................................ [ 65%]
........................................................................ [ 68%]
........................................................................ [ 70%]
........................................................................ [ 73%]
........................................................................ [ 75%]
........................................................................ [ 78%]
........................................................................ [ 81%]
......................................s................................. [ 83%]
.................................x...................................... [ 86%]
........................................................................ [ 89%]
........................................................................ [ 91%]
........................................................................ [ 94%]
........................................................................ [ 96%]
........................................................................ [ 99%]
.............                                                            [100%]
==================================== ERRORS ====================================
______ ERROR at setup of test_focus_next_and_previous_with_type_selector _______
[gw2] linux -- Python 3.12.8 /nix/store/0l539chjmcq5kdd43j6dgdjky4sjl7hl-python3-3.12.8/bin/python3.12

self = App(title='App', classes={'-dark-mode'}, pseudo_classes={'dark', 'focus'})
screen = Screen(), callback = None, wait_for_dismiss = False

    def push_screen(
        self,
        screen: Screen[ScreenResultType] | str,
        callback: ScreenResultCallbackType[ScreenResultType] | None = None,
        wait_for_dismiss: bool = False,
    ) -> AwaitMount | asyncio.Future[ScreenResultType]:
        """Push a new [screen](/guide/screens) on the screen stack, making it the current screen.
    
        Args:
            screen: A Screen instance or the name of an installed screen.
            callback: An optional callback function that will be called if the screen is [dismissed][textual.screen.Screen.dismiss] with a result.
            wait_for_dismiss: If `True`, awaiting this method will return the dismiss value from the screen. When set to `False`, awaiting
                this method will wait for the screen to be mounted. Note that `wait_for_dismiss` should only be set to `True` when running in a worker.
    
        Raises:
            NoActiveWorker: If using `wait_for_dismiss` outside of a worker.
    
        Returns:
            An optional awaitable that awaits the mounting of the screen and its children, or an asyncio Future
                to await the result of the screen.
        """
        if not isinstance(screen, (Screen, str)):
            raise TypeError(
                f"push_screen requires a Screen instance or str; not {screen!r}"
            )
    
        try:
>           loop = asyncio.get_running_loop()
E           RuntimeError: no running event loop

/nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib/python3.12/site-packages/textual/app.py:2639: RuntimeError

During handling of the above exception, another exception occurred:

    @pytest.fixture
    def screen() -> Screen:
        app = App()
    
        with app._context():
>           app.push_screen(Screen())

tests/test_focus.py:27: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib/python3.12/site-packages/textual/app.py:2642: in push_screen
    future: asyncio.Future[ScreenResultType] = asyncio.Future()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7fffefb630e0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if (self._local._loop is None and
                not self._local._set_called and
                threading.current_thread() is threading.main_thread()):
            stacklevel = 2
            try:
                f = sys._getframe(1)
            except AttributeError:
                pass
            else:
                # Move up the call stack so that the warning is attached
                # to the line outside asyncio itself.
                while f:
                    module = f.f_globals.get('__name__')
                    if not (module == 'asyncio' or module.startswith('asyncio.')):
                        break
                    f = f.f_back
                    stacklevel += 1
            import warnings
            warnings.warn('There is no current event loop',
                          DeprecationWarning, stacklevel=stacklevel)
            self.set_event_loop(self.new_event_loop())
    
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/nix/store/0l539chjmcq5kdd43j6dgdjky4sjl7hl-python3-3.12.8/lib/python3.12/asyncio/events.py:702: RuntimeError
_______ ERROR at setup of test_focus_next_and_previous_with_str_selector _______
[gw2] linux -- Python 3.12.8 /nix/store/0l539chjmcq5kdd43j6dgdjky4sjl7hl-python3-3.12.8/bin/python3.12

self = App(title='App', classes={'-dark-mode'}, pseudo_classes={'dark', 'focus'})
screen = Screen(), callback = None, wait_for_dismiss = False

    def push_screen(
        self,
        screen: Screen[ScreenResultType] | str,
        callback: ScreenResultCallbackType[ScreenResultType] | None = None,
        wait_for_dismiss: bool = False,
    ) -> AwaitMount | asyncio.Future[ScreenResultType]:
        """Push a new [screen](/guide/screens) on the screen stack, making it the current screen.
    
        Args:
            screen: A Screen instance or the name of an installed screen.
            callback: An optional callback function that will be called if the screen is [dismissed][textual.screen.Screen.dismiss] with a result.
            wait_for_dismiss: If `True`, awaiting this method will return the dismiss value from the screen. When set to `False`, awaiting
                this method will wait for the screen to be mounted. Note that `wait_for_dismiss` should only be set to `True` when running in a worker.
    
        Raises:
            NoActiveWorker: If using `wait_for_dismiss` outside of a worker.
    
        Returns:
            An optional awaitable that awaits the mounting of the screen and its children, or an asyncio Future
                to await the result of the screen.
        """
        if not isinstance(screen, (Screen, str)):
            raise TypeError(
                f"push_screen requires a Screen instance or str; not {screen!r}"
            )
    
        try:
>           loop = asyncio.get_running_loop()
E           RuntimeError: no running event loop

/nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib/python3.12/site-packages/textual/app.py:2639: RuntimeError

During handling of the above exception, another exception occurred:

    @pytest.fixture
    def screen() -> Screen:
        app = App()
    
        with app._context():
>           app.push_screen(Screen())

tests/test_focus.py:27: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib/python3.12/site-packages/textual/app.py:2642: in push_screen
    future: asyncio.Future[ScreenResultType] = asyncio.Future()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <asyncio.unix_events._UnixDefaultEventLoopPolicy object at 0x7fffefb630e0>

    def get_event_loop(self):
        """Get the event loop for the current context.
    
        Returns an instance of EventLoop or raises an exception.
        """
        if (self._local._loop is None and
                not self._local._set_called and
                threading.current_thread() is threading.main_thread()):
            stacklevel = 2
            try:
                f = sys._getframe(1)
            except AttributeError:
                pass
            else:
                # Move up the call stack so that the warning is attached
                # to the line outside asyncio itself.
                while f:
                    module = f.f_globals.get('__name__')
                    if not (module == 'asyncio' or module.startswith('asyncio.')):
                        break
                    f = f.f_back
                    stacklevel += 1
            import warnings
            warnings.warn('There is no current event loop',
                          DeprecationWarning, stacklevel=stacklevel)
            self.set_event_loop(self.new_event_loop())
    
        if self._local._loop is None:
>           raise RuntimeError('There is no current event loop in thread %r.'
                               % threading.current_thread().name)
E           RuntimeError: There is no current event loop in thread 'MainThread'.

/nix/store/0l539chjmcq5kdd43j6dgdjky4sjl7hl-python3-3.12.8/lib/python3.12/asyncio/events.py:702: RuntimeError
=============================== warnings summary ===============================
tests/test_screen_modes.py::test_add_mode
  /nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib/python3.12/site-packages/textual/strip.py:269: RuntimeWarning: coroutine 'test_async_reactive_watch_callbacks_go_on_the_watcher.<locals>.MyApp.callback' was never awaited
    @property
  Enable tracemalloc to get traceback where the object was allocated.
  See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR tests/test_focus.py::test_focus_next_and_previous_with_type_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
ERROR tests/test_focus.py::test_focus_next_and_previous_with_str_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
== 2742 passed, 1 skipped, 4 xfailed, 1 warning, 2 errors in 86.17s (0:01:26) ==
error: builder for '/nix/store/hdyg3h05wyc0cgfzmf79zdczqvnl15pr-python3.12-textual-1.0.0.drv' failed with exit code 1;
       last 25 log lines:
       >                     f = f.f_back
       >                     stacklevel += 1
       >             import warnings
       >             warnings.warn('There is no current event loop',
       >                           DeprecationWarning, stacklevel=stacklevel)
       >             self.set_event_loop(self.new_event_loop())
       >     
       >         if self._local._loop is None:
       > >           raise RuntimeError('There is no current event loop in thread %r.'
       >                                % threading.current_thread().name)
       > E           RuntimeError: There is no current event loop in thread 'MainThread'.
       >
       > /nix/store/0l539chjmcq5kdd43j6dgdjky4sjl7hl-python3-3.12.8/lib/python3.12/asyncio/events.py:702: RuntimeError
       > =============================== warnings summary ===============================
       > tests/test_screen_modes.py::test_add_mode
       >   /nix/store/zzwjr042ldvbl7f4nwadw2y3gmdn0pd2-python3.12-textual-1.0.0/lib/python3.12/site-packages/textual/strip.py:269: RuntimeWarning: coroutine 'test_async_reactive_watch_callbacks_go_on_the_watcher.<locals>.MyApp.callback' was never awaited
       >     @property
       >   Enable tracemalloc to get traceback where the object was allocated.
       >   See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
       >
       > -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
       > =========================== short test summary info ============================
       > ERROR tests/test_focus.py::test_focus_next_and_previous_with_type_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
       > ERROR tests/test_focus.py::test_focus_next_and_previous_with_str_selector - RuntimeError: There is no current event loop in thread 'MainThread'.
       > == 2742 passed, 1 skipped, 4 xfailed, 1 warning, 2 errors in 86.17s (0:01:26) ==
       For full logs, run 'nix log /nix/store/hdyg3h05wyc0cgfzmf79zdczqvnl15pr-python3.12-textual-1.0.0.drv'.
error: 1 dependencies of derivation '/nix/store/6vyh3jkqqwmsqawvd0gvp6myljbbrrk5-rich-cli-1.8.0.drv' failed to build

Additional context

No response

System metadata

  • system: "x86_64-linux"
  • host os: Linux 6.13.2-cachyos, NixOS, 25.05 (Warbler), 25.05.20250213.2ff53fe
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.24.12
  • channels(root): "nixos"
  • nixpkgs: /nix/store/brjzz8wv5k09bq0yrvhc1j4hd8677k21-source

Notify maintainers


Note for maintainers: Please tag this issue in your pull request description. (i.e. Resolves #ISSUE.)

I assert that this issue is relevant for Nixpkgs

Is this issue important to you?

Add a 👍 reaction to issues you find important.

@myamusashi myamusashi added the 0.kind: build failure A package fails to build label Feb 15, 2025
@gepbird
Copy link
Contributor

gepbird commented Feb 17, 2025

Fixed by #382008

@gepbird gepbird closed this as completed Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: build failure A package fails to build
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants