beeware / briefcase

Tools to support converting a Python project into a standalone native application.
https://briefcase.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
2.48k stars 352 forks source link

The Run command does not detect app startup failures when the app logs are proxied #1795

Open rmartin16 opened 1 month ago

rmartin16 commented 1 month ago

Describe the bug

As laid out in #1794, PySide apps have been failing to run in CI for at least 2 months. We were alerted to this today because the GitHub Action runner was actually slow enough to fail to find the PID for the app before it seg faults.

Therefore:

So, if the app completely crashes, that goes undetected and Briefcase does not report any failures.

Steps to reproduce

Repro #1794.

Expected behavior

Briefcase reports an error for an app that fails to start even when the app's logs are being proxied. Currently, the app logs for macOS and Android are proxied.

This may be difficult to get right....but since we already depend on psutil, we may be able to query for the return codes for arbitrary processes. Although, a completely different approach would be necessary for Android.

Alternatively, we could consider changing the way CI runs to use --test instead which then depends on specific app log output to generate a successful Briefcase exit.

Screenshots

No response

Environment

Logs

No response

Additional context

No response