mirror of
https://github.com/Homebrew/BrewUI.git
synced 2026-10-02 08:34:36 +08:00
scripts/test-ui mirrors what CI runs, so green locally means green on CI. It deliberately does not override -derivedDataPath: a project-relative DerivedData location reproducibly makes the test runner hang for around five minutes before failing to establish a connection, where the identical run against the default location passes in seconds. The ui-test CI job runs alongside the unit job with no needs: dependency, so UI coverage costs wall-clock time on a separate runner rather than sitting on the critical path. It replaces ui_smoke.yml, which triggered on the same pull_request event and ran the same Brew-UI scheme, so keeping both would run every test twice. Its inline signing block is gone with it: the default path was the ad-hoc signing scripts/test-ui already does, and keeping the logic in the script is what keeps a local run honest about CI. TROUBLESHOOTING.md covers the things that make a local run fail for reasons unrelated to the code, since the suite drives real windows and real input. Also ignores the artefacts a UI run leaves behind: coverage drops .profraw wherever an instrumented binary runs, and the script writes a result bundle at the repository root. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>