21.0.0
What's Changed
This release we focused on rethinking how users run tests on-premise on our main platforms. For some time, it's been implemented differently on iOS and Android. Most iOS users tended to use simplified approach conveying tests arguments in command line rather than using a file-based approach with distinct queue configuration and test-arg-file. It led to messy scripts in CI and extra complexity for new users. On the other hand, Android users employed a declarative approach using emceeplan file. We reworked emceeplan config to match needs of all our focus platforms, made it platform agnostic(almost) with simplified configuration ready to work from scratch.
Meet new major Emcee release:
- emceeplan file format reworked to support both iOS and Android platforms similar way, a lot of test parameters are shared between platforms
- documentation and guides are reworked to match these changes, find more
- install Emcee using Homebrew, learn how
as well as changes in core Emcee technology:
Crossplatform
- queue now uses Vapor web server that brings stability and performance
- queue sends time consumption analytics for requests on all endpoint
iOS
- to prevent system overwhelming every test exception reason is now limited to 10kb
Android
- added new worker metrics. See Android worker metrics doc for more info
- added new failed tests retry strategy
retryOnWorker
- now it is possible to retry failed test on the same worker - added ability to configure tests split strategy in emceeplan. Default strategy is
timeWeighted
- Android emulator updated to version 33.1.24
- there is Mac OS demo mode. Now it is possible to run whole Emcee system for Android tests on the Mac (for demonstration only)
- added JUnit report generation
- updated Gradle version to 8.5 and Kotlin version to 1.9.20 in clients