* 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
* Update actions/github-script action to v7
* Fix issues with both the PR from fork welcome comment and skipping Maestro for PRs coming from forks.
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
* 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
Maptiler custom map ids are only useable by the account that create them. So if we hardcode them forkers won't be able to use the maps even if the bring in their own api key (because they can't access our maps with their api key).
Requires to set our map ids in `local.properties` for local development:
```
services.maptiler.lightMapId=9bc819c8-e627-474a-a348-ec144fe3d810
services.maptiler.darkMapId=dea61faf-292b-4774-9660-58fcef89a7f3
```
I created 2 additional test users to use them as MXID we lookup during room creation.
I.e. we will not login as those users, it's just 2 known MXIDs that we know exist so we can look them up.
- https://github.com/vector-im/element-x-android/issues/409
* Update the Rust SDK to v0.1.7.
* Try to have the same setup for the build apk job and maestro.
* Add option to run maestro manually.
* Update to v0.1.9 (0.1.7 and 0.1.8 were broken in x86_64).
* 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>