* Upgrade the used JDK in the project to v21
* Use it for CI too
* Centralise java language version
* Fix deprecations, tests and lint issues
* Fix coverage taking into account `@Preview` annotated code.
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Use Anvil KSP instead of the Square KAPT one
* Fix several configuration cache, lint and test issues
* Allow incremental kotlin compilation in the CI
* Workaround Robolectric + Compose issue that caused `AppNotIdleException`
* Update the `enterprise` commit hash
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* Try to workaround OOM errors and the runner dying
* Some more tweaks:
- Add `-XX:MaxMetaspaceSize` (https://github.com/gradle/gradle/issues/19750)
- Remove `-PpreDexEnable` as it's deprecated and no longer used.
- Remove `--max-workers` as gradle will automatically use the optimal amount.
* Remove `--max-workers` in recording screenshots too
* Try fixing OOM by changing GC and adding RAM to the kotlin compiler
* Add gradle cache to build apk job in maestro flow.
- Remove unnecessary dependency in `:features:call` module.
* Fix sonar in nightly reports
* Bump heap size of nightly reports
* Bump max heap size for building the debug APK for Maestro
* Enable `sonar.gradle.skipCompile`
* Fix sonar job
* Bump the MaxMetaspaceSize
* Don't try to upload failed test results to codecov, it doesn't work
* Restore PAT for `recoverScreenshots.yml` flow.
This is needed to trigger CI jobs automatically. In the case where this is not possible (forks) a message will be added to ask the user to add an empty commit to trigger the CI.
* Add community PR notice
* Disable Maestro steps for fork PRs
Uses https://github.com/nschloe/action-cached-lfs-checkout where we're using git-lfs.
This is a wrapper around `actions/checkout@v3` which uses `actions/cache@v3` to cache the files on LFS to avoid downloading them every time and spare LFS bandwidth.