Skip to content

Commit 9c19538

Browse files
authored
[BUILD] Rework build cache authentication on CI (#122296)
This is required to update to newer version of gradle enterprise and the gradle enterprise plugin.
1 parent 66d18d0 commit 9c19538

File tree

5 files changed

+30
-21
lines changed

5 files changed

+30
-21
lines changed

.buildkite/hooks/pre-command

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ export GRADLE_BUILD_CACHE_USERNAME
4444
GRADLE_BUILD_CACHE_PASSWORD=$(vault read -field=password secret/ci/elastic-elasticsearch/migrated/gradle-build-cache)
4545
export GRADLE_BUILD_CACHE_PASSWORD
4646

47+
DEVELOCITY_ACCESS_KEY="gradle-enterprise.elastic.co=$(vault read -field=accesskey secret/ci/elastic-elasticsearch/migrated/gradle-build-cache)"
48+
export DEVELOCITY_ACCESS_KEY
49+
4750
BUILDKITE_API_TOKEN=$(vault read -field=token secret/ci/elastic-elasticsearch/buildkite-api-token)
4851
export BUILDKITE_API_TOKEN
4952

.ci/init.gradle

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,24 @@
1+
final String buildCacheUrl = System.getProperty('org.elasticsearch.build.cache.url')
2+
final boolean buildCachePush = Boolean.valueOf(System.getProperty('org.elasticsearch.build.cache.push', 'false'))
3+
14
gradle.settingsEvaluated { settings ->
25
settings.pluginManager.withPlugin("com.gradle.develocity") {
36
settings.develocity {
4-
server = 'https://gradle-enterprise.elastic.co'
7+
server = "https://gradle-enterprise.elastic.co"
58
}
6-
}
7-
}
8-
9-
final String buildCacheUrl = System.getProperty('org.elasticsearch.build.cache.url')
10-
final boolean buildCachePush = Boolean.valueOf(System.getProperty('org.elasticsearch.build.cache.push', 'false'))
11-
12-
if (buildCacheUrl) {
13-
gradle.settingsEvaluated { settings ->
14-
settings.buildCache {
15-
local {
16-
// Disable the local build cache in CI since we use ephemeral workers and it incurs an IO penalty
17-
enabled = false
18-
}
19-
remote(HttpBuildCache) {
20-
url = buildCacheUrl
21-
push = buildCachePush
22-
credentials {
23-
username = System.getenv("GRADLE_BUILD_CACHE_USERNAME")
24-
password = System.getenv("GRADLE_BUILD_CACHE_PASSWORD")
9+
if (buildCacheUrl) {
10+
settings.buildCache {
11+
local {
12+
// Disable the local build cache in CI since we use ephemeral workers and it incurs an IO penalty
13+
enabled = false
14+
}
15+
remote(settings.develocity.buildCache) {
16+
enabled = true
17+
push = buildCachePush
2518
}
2619
}
2720
}
2821
}
2922
}
23+
24+

build-conventions/settings.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
* your election, the "Elastic License 2.0", the "GNU Affero General Public
77
* License v3.0 only", or the "Server Side Public License, v 1".
88
*/
9+
10+
plugins {
11+
id "com.gradle.develocity" version "3.18.1"
12+
}
13+
914
rootProject.name = 'build-conventions'
1015

1116
dependencyResolutionManagement {

build-tools-internal/settings.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ pluginManagement {
88
includeBuild "../build-tools"
99
}
1010

11+
plugins {
12+
id "com.gradle.develocity" version "3.18.1"
13+
}
14+
1115
dependencyResolutionManagement {
1216
versionCatalogs {
1317
buildLibs {

build-tools/settings.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
pluginManagement {
1010
includeBuild "../build-conventions"
1111
}
12-
12+
plugins {
13+
id "com.gradle.develocity" version "3.18.1"
14+
}
1315
include 'reaper'
1416

1517
dependencyResolutionManagement {

0 commit comments

Comments
 (0)