Start using Gradle Enterprise instance (#4663)
* Start using Gradle Enterprise instance * Require opt-in to publish build scan from local machine * Publish build scan only if authenticated * Switch to GE cache
This commit is contained in:
parent
260c603784
commit
254a26745a
|
@ -33,8 +33,9 @@ jobs:
|
|||
|
||||
- name: Build
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew build
|
||||
|
||||
build-gradle-plugins:
|
||||
|
@ -104,8 +105,9 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew test -PtestJavaVersion=${{ matrix.test-java-version }} -PtestJavaVM=${{ matrix.vm }} -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false
|
||||
|
||||
testLatestDeps:
|
||||
|
@ -141,8 +143,9 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew test -PtestLatestDeps=true
|
||||
|
||||
smoke-test:
|
||||
|
@ -194,8 +197,9 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.smoke-test-suite }}
|
||||
|
||||
setup-muzzle-matrix:
|
||||
|
@ -321,8 +325,7 @@ jobs:
|
|||
|
||||
- name: Build and publish artifact snapshots
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
|
||||
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
|
||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
|
@ -331,6 +334,7 @@ jobs:
|
|||
|
||||
- name: Build and publish gradle plugin snapshots
|
||||
env:
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
|
||||
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
|
||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
|
|
|
@ -33,8 +33,9 @@ jobs:
|
|||
|
||||
- name: Build
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew build
|
||||
|
||||
build-gradle-plugins:
|
||||
|
@ -104,8 +105,9 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew test -PtestJavaVersion=${{ matrix.test-java-version }} -PtestJavaVM=${{ matrix.vm }} -Porg.gradle.java.installations.paths=${{ steps.setup-test-java.outputs.path }} -Porg.gradle.java.installations.auto-download=false
|
||||
|
||||
testLatestDeps:
|
||||
|
@ -141,8 +143,9 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew test -PtestLatestDeps=true
|
||||
|
||||
smoke-test:
|
||||
|
@ -194,8 +197,9 @@ jobs:
|
|||
|
||||
- name: Test
|
||||
env:
|
||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
||||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.smoke-test-suite }}
|
||||
|
||||
setup-muzzle-matrix:
|
||||
|
|
|
@ -14,8 +14,9 @@ pluginManagement {
|
|||
}
|
||||
|
||||
plugins {
|
||||
id("com.gradle.enterprise") version "3.6.3"
|
||||
id("com.gradle.enterprise") version "3.7.1"
|
||||
id("com.github.burrunan.s3-build-cache") version "1.2"
|
||||
id("com.gradle.common-custom-user-data-gradle-plugin") version "1.5"
|
||||
}
|
||||
|
||||
dependencyResolutionManagement {
|
||||
|
@ -25,27 +26,43 @@ dependencyResolutionManagement {
|
|||
}
|
||||
}
|
||||
|
||||
val gradleEnterpriseServer = "https://ge.opentelemetry.io"
|
||||
val isCI = System.getenv("CI") != null
|
||||
val skipBuildscan = System.getenv("SKIP_BUILDSCAN").toBoolean()
|
||||
gradleEnterprise {
|
||||
buildScan {
|
||||
termsOfServiceUrl = "https://gradle.com/terms-of-service"
|
||||
termsOfServiceAgree = "yes"
|
||||
val geAccessKey = System.getenv("GRADLE_ENTERPRISE_ACCESS_KEY") ?: ""
|
||||
|
||||
if (isCI && !skipBuildscan) {
|
||||
publishAlways()
|
||||
tag("CI")
|
||||
// if GE access key is not given and we are in CI, then we publish to scans.gradle.com
|
||||
gradleEnterprise {
|
||||
if (geAccessKey.isNotEmpty()) {
|
||||
server = gradleEnterpriseServer
|
||||
}
|
||||
buildScan {
|
||||
// TODO remove this until legal approves
|
||||
if (geAccessKey.isEmpty() && isCI) {
|
||||
termsOfServiceUrl = "https://gradle.com/terms-of-service"
|
||||
termsOfServiceAgree = "yes"
|
||||
}
|
||||
publishAlways()
|
||||
this as com.gradle.enterprise.gradleplugin.internal.extension.BuildScanExtensionWithHiddenFeatures
|
||||
publishIfAuthenticated()
|
||||
|
||||
isUploadInBackground = !isCI
|
||||
|
||||
capture {
|
||||
isTaskInputFiles = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val awsAccessKey = System.getenv("S3_BUILD_CACHE_ACCESS_KEY_ID") ?: ""
|
||||
|
||||
val geCacheUsername = System.getenv("GE_CACHE_USERNAME") ?: ""
|
||||
val geCachePassword = System.getenv("GE_CACHE_PASSWORD") ?: ""
|
||||
buildCache {
|
||||
remote<com.github.burrunan.s3cache.AwsS3BuildCache> {
|
||||
region = "us-west-2"
|
||||
bucket = "opentelemetry-java-instrumentation-gradle-cache"
|
||||
isPush = isCI && !awsAccessKey.isEmpty()
|
||||
remote<HttpBuildCache> {
|
||||
url = uri("$gradleEnterpriseServer/cache/")
|
||||
isPush = isCI && geCacheUsername.isNotEmpty()
|
||||
credentials {
|
||||
username = geCacheUsername
|
||||
password = geCachePassword
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue