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:
the app PID is passed in to the app streaming logic
the PID is immediately detected as not existing anymore so app log streaming starts it exit process
This only checks the status of the process proxying the logs for the app and reports success/failure using its ret code
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.
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
0.3.19.dev26+g96734be6
Logs
No response
Additional context
No response