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
|
- name: Build
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||||
|
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||||
run: ./gradlew build
|
run: ./gradlew build
|
||||||
|
|
||||||
build-gradle-plugins:
|
build-gradle-plugins:
|
||||||
|
@ -104,8 +105,9 @@ jobs:
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_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
|
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:
|
testLatestDeps:
|
||||||
|
@ -141,8 +143,9 @@ jobs:
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||||
|
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||||
run: ./gradlew test -PtestLatestDeps=true
|
run: ./gradlew test -PtestLatestDeps=true
|
||||||
|
|
||||||
smoke-test:
|
smoke-test:
|
||||||
|
@ -194,8 +197,9 @@ jobs:
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_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 }}
|
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.smoke-test-suite }}
|
||||||
|
|
||||||
setup-muzzle-matrix:
|
setup-muzzle-matrix:
|
||||||
|
@ -321,8 +325,7 @@ jobs:
|
||||||
|
|
||||||
- name: Build and publish artifact snapshots
|
- name: Build and publish artifact snapshots
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
|
||||||
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
|
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
|
||||||
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
|
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
|
||||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
@ -331,6 +334,7 @@ jobs:
|
||||||
|
|
||||||
- name: Build and publish gradle plugin snapshots
|
- name: Build and publish gradle plugin snapshots
|
||||||
env:
|
env:
|
||||||
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
|
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
|
||||||
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
|
SONATYPE_KEY: ${{ secrets.SONATYPE_KEY }}
|
||||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
|
|
|
@ -33,8 +33,9 @@ jobs:
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||||
|
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||||
run: ./gradlew build
|
run: ./gradlew build
|
||||||
|
|
||||||
build-gradle-plugins:
|
build-gradle-plugins:
|
||||||
|
@ -104,8 +105,9 @@ jobs:
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_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
|
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:
|
testLatestDeps:
|
||||||
|
@ -141,8 +143,9 @@ jobs:
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
|
GE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
|
||||||
|
GE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
|
||||||
run: ./gradlew test -PtestLatestDeps=true
|
run: ./gradlew test -PtestLatestDeps=true
|
||||||
|
|
||||||
smoke-test:
|
smoke-test:
|
||||||
|
@ -194,8 +197,9 @@ jobs:
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
|
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
|
||||||
S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_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 }}
|
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.smoke-test-suite }}
|
||||||
|
|
||||||
setup-muzzle-matrix:
|
setup-muzzle-matrix:
|
||||||
|
|
|
@ -14,8 +14,9 @@ pluginManagement {
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
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.github.burrunan.s3-build-cache") version "1.2"
|
||||||
|
id("com.gradle.common-custom-user-data-gradle-plugin") version "1.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencyResolutionManagement {
|
dependencyResolutionManagement {
|
||||||
|
@ -25,27 +26,43 @@ dependencyResolutionManagement {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val gradleEnterpriseServer = "https://ge.opentelemetry.io"
|
||||||
val isCI = System.getenv("CI") != null
|
val isCI = System.getenv("CI") != null
|
||||||
val skipBuildscan = System.getenv("SKIP_BUILDSCAN").toBoolean()
|
val geAccessKey = System.getenv("GRADLE_ENTERPRISE_ACCESS_KEY") ?: ""
|
||||||
gradleEnterprise {
|
|
||||||
buildScan {
|
|
||||||
termsOfServiceUrl = "https://gradle.com/terms-of-service"
|
|
||||||
termsOfServiceAgree = "yes"
|
|
||||||
|
|
||||||
if (isCI && !skipBuildscan) {
|
// if GE access key is not given and we are in CI, then we publish to scans.gradle.com
|
||||||
publishAlways()
|
gradleEnterprise {
|
||||||
tag("CI")
|
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 {
|
buildCache {
|
||||||
remote<com.github.burrunan.s3cache.AwsS3BuildCache> {
|
remote<HttpBuildCache> {
|
||||||
region = "us-west-2"
|
url = uri("$gradleEnterpriseServer/cache/")
|
||||||
bucket = "opentelemetry-java-instrumentation-gradle-cache"
|
isPush = isCI && geCacheUsername.isNotEmpty()
|
||||||
isPush = isCI && !awsAccessKey.isEmpty()
|
credentials {
|
||||||
|
username = geCacheUsername
|
||||||
|
password = geCachePassword
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue