Closed n8henrie closed 1 year ago
@pjrobertson @skurfer I'd like to merge this soon, if you get a chance to take a look, so I can move on to several of the Sonoma bugs, while hopefully ensuring that the fixes aren't unintentionally resulting in backwards incompatible changes.
Merging this in to avoid rebase hell.
Fixes https://github.com/quicksilver/Quicksilver/issues/2971
This PR includes a number of changes mostly to the tests, CI, and build toolchain.
It does add a few
ifdef TESTING
to avoid things like the accessibility checker on CI, which otherwise blocks forever and then fails.It add a new plist file
QSCorePlugIn-Info-Testing.plist
to try to avoid indexing "sensitive" directories like~/Desktop
and~/Documents
on startup, which also result in popups that can block further execution.In several places the default build interface was supposed(?) to be Bezel but was set to Primer; this changes it to Bezel.
It changes several build steps to allow automatic dependency resolution to work, specifically by removing dependencies like the Bezel interface from the
Quicksilver
target (that I think I put there in the first place) and putting them underQuicksilver Tests
. (They are still underQuicksilver Distribution
, so I don't think this should change peoples dev workflow.) It also enables parallel testing, which in addition to parallel builds really speeds up the build process on my machine, and configures the testing order to be randomized, to hopefully avoid issues with race conditions between tests that just happen to work in our favor when build alphabetically.There are a lot of commits, several of which could be dropped (later reverted), but as I went through rebasing and squashing I decided it would be best to leave them separate to enable bisecting in the future if any of them end up being problematic (as opposed to squashing them together and trying to tease the changes apart later).
Finally, this adds a nice little build status badge to the readme and removes a few whitespace errors.