SIGN IN SIGN UP

Speed up tests to ~3 minutes. (#316)

* Speed up tests to ~3 minutes.

* Allow for the possibility that we might not have a test plugin in all envs.

* Make SuffixTrie implementation Python 3.7-compatible.

* More Python 3.7 compatibility fixes.

* Windows compatibility.

* More Windows compatibility

* More

* Make test output less verbose.

* Only kill process if necessary.

* Can we fix Windows?

* Increase window launch timeout for CI.

* Just skip that test on Windows.

* Disable verbose test logs to speed things up even more.

* Add ccache and object caching per-build.

* Fix yml.

* Install ccache.

* Install ccache over here, too.

* Can we use the default compiler?

* Guess I have to explicitly specify gcc and g++.

* Properly set up dependencies between build and cache.

* D'oh.

* Install ccache on mac runners.

* Debug ccache.

* Re-enable build logging.

* Avoid cache-busting across different Python versions.

* Missing ccache again.

* Make ccache less picky.

* Getting closer and closer to 'too many hacks' territory now...

* Upload ccache debug info.

* ccache debug debugging. ccache.

* Use newer ccache.

* 'Linux'

* Different flags for GNU tar...

* chmod +x

* D'oh.

* Also use ccache for Asan builds.

* Re-enable more builds.

* Remove unnecessary Windows steps.

* One more Windows fix...

* Add more ccache_ignoreoptions to get a better test cache hit ratio.

* Whoops.

* Run initial tests on 8 parallel machines to get faster feedback.

* Lint.

* Why is macOS still not caching?

* Faster still, with more debug info...

* Cache final library .so files to avoid unnecessary linking.

* Attempt to fix macOS build caching by allowing preprocessor to run.

* Output cache directory. Why is the built object not being found?

* Search the right variable for -arch arm64.

* More debug info. I wonder if anybody is reading these messages.

* Let this run over lunch. Let's see what happens.

* Try to avoid breaking the build cache in separate jobs.

* Use find -exec touch instead of touch itself.

* Use ARCHFLAGS. Come on. Not documented anywhere.

* Speed up Asan builds too.

* Get windows build working.

* This one too.

* Print out more ccache debug info.

* Zero ccache stats once shown.

* Switch to Ruff.

* More log output.

* Disable ccache inode caching.

* Include JUCE objects in cache directly, as ccache isn't cooperating.

* Reduce test requirements by moving doc requirements to the appropriate file.

* Disable LTO for tests.

* I guess we do need MyPy in test, right.

* Closer...

* Stay on x86-64 for now.

* List all objects before creating the cache.

* Explicitly cache temp object files that are compatible across Python versions.

* Close, but not touching

* Update action versions.

* Disable the ccache compiler check.

* Remove the inode cache again

* Maybe this will turn into a great blog post one day.

* Whoops.

* MACOSX_DEPLOYMENT_TARGET. That was it, maybe?

* Higher deployment target.
P
Peter Sobot committed
08bbe8ba28ea043041bee8cc42ab3d99e8b0021d
Parent: 98efdb9
Committed by GitHub <noreply@github.com> on 4/26/2024, 6:37:44 PM