Releases: avito-tech/Emcee
21.7.0
What's Changed
iOS
- Artifacts for xctestrun (derived from Xcode Test Plan) configurations are now prepared quickly
Crossplatform
- Fixed bug when queue service might suddenly lose a bucket due to worker restart
- It's now possible to use env variables expansion in emceeplan file for sensitive data like password for artifactory user
21.6.0
What's Changed
iOS
- Self-deployment via ssh became more stable
Android
- Added new filters and added ability to include or exclude tests by filters. Read more.
Breaking changes: the filters structure in the clients has changed a little bit. - Added new metrics and updated existing metrics. Now you can measure adb operation time/statuses and measure network operations more accurate. See table with all metrics
- Updated timeouts for internal adb operations
- Updated Android emulator version to 35.2.10
- Added internal bugfixes
21.5.0
What's Changed
Crossplatform
- We reworked how our users deal with enterprise support. Now we distribute a single application that accepts license keys. You're encouraged to contact your manager to migrate on new licensing. Learn more.
iOS
Now you may setup simulator gracefully before running tests via
- classified settings (that our old users may familiar with), learn more
- running plain scripts on worker host, take a look on our playbook
Android
- Added internal improvements, such as debug/info/critical logs rework, timeouts updates, etc
- Added Kaspresso adb-server. Now you can enable this server inside worker via worker environment variable (read about env name here)
- Added worker self-check scripts for better debugging. Read more
- Added info in documentation about ability to customize worker emulators. You can replace default emulators by your own. Read more
- Added docker image with preconfigured Artifactory instance. Now you can use this image to avoid first Artifactory setup because this instance contains ready for use user. Read more
21.4.0
21.3.0
21.2.1
21.2.0
What's Changed
Android
- Added new feature - dynamic emulators. Now you can configure and reuse emulators with desired screen resolution and density. For example, now it is possible to use emulator with full hd resolution and 440 dpi density.
Read more here - Fixed bug that occurred when test execution was interrupted by a timeout, resulting in the screen recording not being downloaded
- Fixed bug with "device offline" message that sometimes happened while device booting
- The process of archiving tests artifacts has been optimized
- Improved documentation
- Added Android SDK 33 to worker and removed 24
21.1.0
What's Changed
iOS
- Xcode Test Plans are now supported in emceeplan. Learn more
- we parse more errors from XCResult and enrich reports with them
Android
- added new feature with ability to download artifacts from device custom directory on each run
- added clients network calls retry on bad responses
- made worker more stable and robust - now most unexpected errors converts to tests errors and not to workers crashes. It will give faster feedback loop for the users
- updated internal dependencies, such as Kotlin, Coroutines, etc.
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
20.2.0
What's Changed
Crossplatform
- Meet test history service! It tracks test results and time consumption for individual tests and allows other services to use this information to optimally schedule new test run. See more in doc (iOS, Android)
- There is a new
timeWeighted
test splitter that works hand in hand with test history service and provides the shortest possible time for entire test run. See more in doc (iOS, Android)
iOS
- Minimal supported target is macOS 12.0
- Get chrome tracing for the entire test run by using
--trace
option. See more inemceeFree runTests --help
Android
- Added readable Artifactory uploading error description
- Fixed possible crash in clients because of redundant internal checks
- Fixed possible zero test time bug
- Added check for desired sdk version before test run start
- Added fix for endless CLI process after test run
- Updated internal emulators version to 33.0.2. Other internal tools were also updated
- Added timeout for emulator boot complete
- Fixed wrong test result when test ended instantly