* 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
* De-duplicate sonar job in the CI
* Remove workaround for `src/*/kotlin` folders
* Downgrade the sonarqube plugin version
* Try increasing workers for this job, since it's quite slow
* Warn about regression in latest sonarqube release
* Forbid backups to prevent cryptographic issues
* Disable Paparazzi tasks when Kover is running.
It allows us to split the test jobs between unit tests, screenshot test and coverage reports.
* Move Sonar upload to the quality workflow, since we have no lint info in tests.
Move the dependency check job from the quality workflow that
runs on every PR to the nightly reports workflow. This sometimes
flakes as it does a _lot_ of HTTP requests. It's less intrusive
if that happens outside of the PR workflow.
Also change the nightly job that runs tests to use LFS, so it
actually has access to screenshots :)
The sonar task is still broken, but it seems like an upstream bug:
https://community.sonarsource.com/t/sonar-plugin-4-1-0-3113-4-2-0-3129-errors/91568
* Update AGP to 8.0.0.
* Set JAVA_HOME to JDK17
* Update lint version.
* Use right JDK for dependency analysis, replace deprecated env var.
* Upgrade to Gradle 8.1.
* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency gradle to v8
* Handle upgrading Gradle to v8.0.2
* Update AGP to 8.0.0-RC01
* Try to set JAVA_HOME to JDK17
* Update lint version.
* Use right JDK for dependency analysis, replace deprecated env var
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Run Paparazzi tests just once when koverMergedReport is used.
* Make sure a Paparazzi failure breaks the test flow and blocks merging.
* Change ./gradlew check call in quality.yml to custom runQualityChecks task.