mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 17:34:17 -04:00
Update Gradle gradleEnterprise plugin (develocity now) (#109443)
* Update Gradle gradleEnterprise plugin (develocity now) * Fix imports in build scan script * Fix build scan api usage * Dependency cleanup and API fix * Fix API update for BuildResult in Build scans * Fix buildkite buildscan annotations based on gradle failures
This commit is contained in:
parent
28faacd869
commit
02439e321d
6 changed files with 163 additions and 152 deletions
|
@ -91,8 +91,8 @@ if (USE_ARTIFACTORY) {
|
||||||
}
|
}
|
||||||
|
|
||||||
gradle.settingsEvaluated { settings ->
|
gradle.settingsEvaluated { settings ->
|
||||||
settings.pluginManager.withPlugin("com.gradle.enterprise") {
|
settings.pluginManager.withPlugin("com.gradle.develocity") {
|
||||||
settings.gradleEnterprise {
|
settings.develocity {
|
||||||
server = 'https://gradle-enterprise.elastic.co'
|
server = 'https://gradle-enterprise.elastic.co'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,18 +12,23 @@ import java.time.LocalDateTime;
|
||||||
import org.elasticsearch.gradle.Architecture
|
import org.elasticsearch.gradle.Architecture
|
||||||
import org.elasticsearch.gradle.OS
|
import org.elasticsearch.gradle.OS
|
||||||
import org.elasticsearch.gradle.internal.info.BuildParams
|
import org.elasticsearch.gradle.internal.info.BuildParams
|
||||||
import org.gradle.initialization.BuildRequestMetaData
|
|
||||||
|
|
||||||
buildScan {
|
import java.lang.management.ManagementFactory
|
||||||
|
import java.time.LocalDateTime
|
||||||
|
|
||||||
|
develocity {
|
||||||
|
|
||||||
|
buildScan {
|
||||||
URL jenkinsUrl = System.getenv('JENKINS_URL') ? new URL(System.getenv('JENKINS_URL')) : null
|
URL jenkinsUrl = System.getenv('JENKINS_URL') ? new URL(System.getenv('JENKINS_URL')) : null
|
||||||
String buildKiteUrl = System.getenv('BUILDKITE_BUILD_URL') ? System.getenv('BUILDKITE_BUILD_URL') : null
|
String buildKiteUrl = System.getenv('BUILDKITE_BUILD_URL') ? System.getenv('BUILDKITE_BUILD_URL') : null
|
||||||
|
|
||||||
// Automatically publish scans from Elasticsearch CI
|
// Automatically publish scans from Elasticsearch CI
|
||||||
if (jenkinsUrl?.host?.endsWith('elastic.co') || jenkinsUrl?.host?.endsWith('elastic.dev') || System.getenv('BUILDKITE') == 'true') {
|
if (jenkinsUrl?.host?.endsWith('elastic.co') || jenkinsUrl?.host?.endsWith('elastic.dev') || System.getenv('BUILDKITE') == 'true') {
|
||||||
publishAlways()
|
publishing.onlyIf { true }
|
||||||
buildScan.server = 'https://gradle-enterprise.elastic.co'
|
server = 'https://gradle-enterprise.elastic.co'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
background {
|
background {
|
||||||
tag OS.current().name()
|
tag OS.current().name()
|
||||||
tag Architecture.current().name()
|
tag Architecture.current().name()
|
||||||
|
@ -71,7 +76,8 @@ buildScan {
|
||||||
|
|
||||||
tag 'CI'
|
tag 'CI'
|
||||||
link 'CI Build', buildUrl
|
link 'CI Build', buildUrl
|
||||||
link 'GCP Upload', "https://console.cloud.google.com/storage/browser/_details/elasticsearch-ci-artifacts/jobs/${URLEncoder.encode(jobName, "UTF-8")}/build/${buildNumber}.tar.bz2"
|
link 'GCP Upload',
|
||||||
|
"https://console.cloud.google.com/storage/browser/_details/elasticsearch-ci-artifacts/jobs/${URLEncoder.encode(jobName, "UTF-8")}/build/${buildNumber}.tar.bz2"
|
||||||
value 'Job Number', buildNumber
|
value 'Job Number', buildNumber
|
||||||
if (jobBranch) {
|
if (jobBranch) {
|
||||||
tag jobBranch
|
tag jobBranch
|
||||||
|
@ -116,7 +122,7 @@ buildScan {
|
||||||
value 'Job Name', jobName
|
value 'Job Name', jobName
|
||||||
tag jobName
|
tag jobName
|
||||||
if (jobLabel.contains("/")) {
|
if (jobLabel.contains("/")) {
|
||||||
jobLabel.split("/").collect {safeName(it) }.each {matrix ->
|
jobLabel.split("/").collect { safeName(it) }.each { matrix ->
|
||||||
tag matrix
|
tag matrix
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,8 +131,10 @@ buildScan {
|
||||||
def metricsStartTime = LocalDateTime.now().minusSeconds(uptime.longValue()).minusMinutes(15).toString()
|
def metricsStartTime = LocalDateTime.now().minusSeconds(uptime.longValue()).minusMinutes(15).toString()
|
||||||
def metricsEndTime = LocalDateTime.now().plusMinutes(15).toString()
|
def metricsEndTime = LocalDateTime.now().plusMinutes(15).toString()
|
||||||
|
|
||||||
link 'Agent Metrics', "https://es-buildkite-agents.elastic.dev/app/metrics/detail/host/${System.getenv('BUILDKITE_AGENT_NAME')}?_a=(time:(from:%27${metricsStartTime}Z%27,interval:%3E%3D1m,to:%27${metricsEndTime}Z%27))"
|
link 'Agent Metrics',
|
||||||
link 'Agent Logs', "https://es-buildkite-agents.elastic.dev/app/logs/stream?logFilter=(filters:!(),query:(language:kuery,query:%27host.name:%20${System.getenv('BUILDKITE_AGENT_NAME')}%27),timeRange:(from:%27${metricsStartTime}Z%27,to:%27${metricsEndTime}Z%27))"
|
"https://es-buildkite-agents.elastic.dev/app/metrics/detail/host/${System.getenv('BUILDKITE_AGENT_NAME')}?_a=(time:(from:%27${metricsStartTime}Z%27,interval:%3E%3D1m,to:%27${metricsEndTime}Z%27))"
|
||||||
|
link 'Agent Logs',
|
||||||
|
"https://es-buildkite-agents.elastic.dev/app/logs/stream?logFilter=(filters:!(),query:(language:kuery,query:%27host.name:%20${System.getenv('BUILDKITE_AGENT_NAME')}%27),timeRange:(from:%27${metricsStartTime}Z%27,to:%27${metricsEndTime}Z%27))"
|
||||||
|
|
||||||
if (branch) {
|
if (branch) {
|
||||||
tag branch
|
tag branch
|
||||||
|
@ -149,7 +157,8 @@ buildScan {
|
||||||
|
|
||||||
buildFinished { result ->
|
buildFinished { result ->
|
||||||
|
|
||||||
buildScanPublished { scan ->
|
buildScanPublished { scan
|
||||||
|
->
|
||||||
// Attach build scan link as build metadata
|
// Attach build scan link as build metadata
|
||||||
// See: https://buildkite.com/docs/pipelines/build-meta-data
|
// See: https://buildkite.com/docs/pipelines/build-meta-data
|
||||||
new ProcessBuilder('buildkite-agent', 'meta-data', 'set', "build-scan-${System.getenv('BUILDKITE_JOB_ID')}", "${scan.buildScanUri}")
|
new ProcessBuilder('buildkite-agent', 'meta-data', 'set', "build-scan-${System.getenv('BUILDKITE_JOB_ID')}", "${scan.buildScanUri}")
|
||||||
|
@ -158,17 +167,18 @@ buildScan {
|
||||||
|
|
||||||
// Add a build annotation
|
// Add a build annotation
|
||||||
// See: https://buildkite.com/docs/agent/v3/cli-annotate
|
// See: https://buildkite.com/docs/agent/v3/cli-annotate
|
||||||
def body = """<div class="mb3"><span class="p1 border rounded">${System.getenv('BUILDKITE_LABEL')}</span> :gradle: ${result.failure ? 'failed' : 'successful'} build: <a href="${scan.buildScanUri}"><code>gradle ${gradle.startParameter.taskNames.join(' ')}</code></a></div>"""
|
def body = """<div class="mb3"><span class="p1 border rounded">${System.getenv('BUILDKITE_LABEL')}</span> :gradle: ${result.failures ? 'failed' : 'successful'} build: <a href="${scan.buildScanUri}"><code>gradle ${gradle.startParameter.taskNames.join(' ')}</code></a></div>"""
|
||||||
def process = [
|
def process = [
|
||||||
'buildkite-agent',
|
'buildkite-agent',
|
||||||
'annotate',
|
'annotate',
|
||||||
'--context',
|
'--context',
|
||||||
result.failure ? 'gradle-build-scans-failed' : 'gradle-build-scans',
|
result.failures ? 'gradle-build-scans-failed' : 'gradle-build-scans',
|
||||||
'--append',
|
'--append',
|
||||||
'--style',
|
'--style',
|
||||||
result.failure ? 'error' : 'info'
|
result.failures ? 'error' : 'info'
|
||||||
].execute()
|
].execute()
|
||||||
process.withWriter { it.write(body) } // passing the body in as an argument has issues on Windows, so let's use stdin of the process instead
|
process.withWriter { it.write(body) }
|
||||||
|
// passing the body in as an argument has issues on Windows, so let's use stdin of the process instead
|
||||||
process.waitFor()
|
process.waitFor()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -176,6 +186,7 @@ buildScan {
|
||||||
tag 'LOCAL'
|
tag 'LOCAL'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static def safeName(String string) {
|
static def safeName(String string) {
|
||||||
|
|
|
@ -17,7 +17,7 @@ commons-codec = "commons-codec:commons-codec:1.11"
|
||||||
commmons-io = "commons-io:commons-io:2.2"
|
commmons-io = "commons-io:commons-io:2.2"
|
||||||
docker-compose = "com.avast.gradle:gradle-docker-compose-plugin:0.17.5"
|
docker-compose = "com.avast.gradle:gradle-docker-compose-plugin:0.17.5"
|
||||||
forbiddenApis = "de.thetaphi:forbiddenapis:3.6"
|
forbiddenApis = "de.thetaphi:forbiddenapis:3.6"
|
||||||
gradle-enterprise = "com.gradle:gradle-enterprise-gradle-plugin:3.16.2"
|
gradle-enterprise = "com.gradle:develocity-gradle-plugin:3.17.4"
|
||||||
hamcrest = "org.hamcrest:hamcrest:2.1"
|
hamcrest = "org.hamcrest:hamcrest:2.1"
|
||||||
httpcore = "org.apache.httpcomponents:httpcore:4.4.12"
|
httpcore = "org.apache.httpcomponents:httpcore:4.4.12"
|
||||||
httpclient = "org.apache.httpcomponents:httpclient:4.5.14"
|
httpclient = "org.apache.httpcomponents:httpclient:4.5.14"
|
||||||
|
|
|
@ -741,9 +741,9 @@
|
||||||
<sha256 value="48234cd74e35d91a31a683820a35b5b6d11b55527f32a5b162c6757408b95d7a" origin="Generated by Gradle"/>
|
<sha256 value="48234cd74e35d91a31a683820a35b5b6d11b55527f32a5b162c6757408b95d7a" origin="Generated by Gradle"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
</component>
|
</component>
|
||||||
<component group="com.gradle" name="gradle-enterprise-gradle-plugin" version="3.16.2">
|
<component group="com.gradle" name="develocity-gradle-plugin" version="3.17.4">
|
||||||
<artifact name="gradle-enterprise-gradle-plugin-3.16.2.jar">
|
<artifact name="develocity-gradle-plugin-3.17.4.jar">
|
||||||
<sha256 value="e06ca9b1bf0fef710dc74ec969e5c0b4553b92a46224326165ceac0e5c37e0d3" origin="Generated by Gradle"/>
|
<sha256 value="e2b3f8a191b0b401b75c2c4542d3d1719814a4212e6920fae4f2f940678bfd99" origin="Generated by Gradle"/>
|
||||||
</artifact>
|
</artifact>
|
||||||
</component>
|
</component>
|
||||||
<component group="com.h2database" name="h2" version="1.4.197">
|
<component group="com.h2database" name="h2" version="1.4.197">
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "com.gradle.enterprise" version "3.16.2"
|
id "com.gradle.develocity" version "3.17.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
// Include all subdirectories as example projects
|
// Include all subdirectories as example projects
|
||||||
|
|
|
@ -17,7 +17,7 @@ pluginManagement {
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id "com.gradle.enterprise" version "3.16.2"
|
id "com.gradle.develocity" version "3.17.4"
|
||||||
id 'elasticsearch.java-toolchain'
|
id 'elasticsearch.java-toolchain'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue