Split docker image into separate images per environment (platform+toolchain/sdk version)
Add docker compose settings to run splitted version locally
Separate docker image and application code that runs in pre-configured docker environment.
Rework how remote builder can be configured. Now it set as dictionary of <platform>-<sdk_version>: <builder_url>
Upgrade spring boot to latest 3.x version.
Cleanup some unused imports from code.
Upgrade other Java dependencies.
Add Github workflows to automate build and push Docker images with environments to private registries.
Add Github workflow to automate build and push jars to Maven repository.
Template files that used during engine build (for example, build.gradle.template) moved inside jar to simplify deployment.
Separate gradle service class into two implementation: fake and real. Real used only if extender.gradle.enabled property set to true. Real gradle service used only for android builder, for others - used fake service.
Add send metrics to Stackdriver. Use Influx adapter to send metrics to custom metrics backend.
Fix metrics units that used for some timers (used SECONDS when value passed in MILLISECONDS).
Add new documentation with overview of all changes.
Add service to control VM instances if service runs in at GCP cloud. Service track how much time instance doesn't receive any build workload and suspend it. When new build request arrived and remote builder is suspended - service resume it.
Add /health_report endpoint to collect information about remote builder status.
Add /maintanance_mode endpoint to ensure that all remote builder is running before make any deployment.
Add implementation to store caches in google bucket.
Add implementation to work with google bucket files as Spring boot resources.
Add dockerfiles for latest consoles sdks.
Add a couple of metrics tot track cache operations.
<platform>-<sdk_version>: <builder_url>
extender.gradle.enabled
property set totrue
. Real gradle service used only for android builder, for others - used fake service.Add send metrics to Stackdriver.Use Influx adapter to send metrics to custom metrics backend./health_report
endpoint to collect information about remote builder status./maintanance_mode
endpoint to ensure that all remote builder is running before make any deployment.More details can be found in server/README.md.
Fixes #252 Fixes #289 Fixes #339 Fixes #413 Fixes #414