You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2023/01/04 13:56:24 UTC
[pulsar] branch experiment-ge.apache.org updated (72bf8418284 -> 603f21969ef)
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a change to branch experiment-ge.apache.org
in repository https://gitbox.apache.org/repos/asf/pulsar.git
discard 72bf8418284 [feat][ci] Add integration to ge.apache.org Gradle Enterprise server
new 603f21969ef [feat][ci] Add integration to ge.apache.org Gradle Enterprise server
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (72bf8418284)
\
N -- N -- N refs/heads/experiment-ge.apache.org (603f21969ef)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.gitignore | 6 ++++++
.mvn/gradle-enterprise-custom-user-data.groovy | 27 +++++++++++++++++++-------
.mvn/gradle-enterprise.xml | 13 ++++++-------
3 files changed, 32 insertions(+), 14 deletions(-)
[pulsar] 01/01: [feat][ci] Add integration to ge.apache.org Gradle Enterprise server
Posted by lh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch experiment-ge.apache.org
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 603f21969efd01415b79a062451f40cdd8a82a6a
Author: Lari Hotari <lh...@apache.org>
AuthorDate: Wed Jan 4 15:56:03 2023 +0200
[feat][ci] Add integration to ge.apache.org Gradle Enterprise server
---
.github/actions/gradle-enterprise/action.yml | 36 ++++++++++++++
.github/workflows/ci-maven-cache-update.yaml | 7 +++
.github/workflows/ci-owasp-dependency-check.yaml | 9 +++-
.github/workflows/pulsar-ci-flaky.yaml | 7 +++
.github/workflows/pulsar-ci.yaml | 62 ++++++++++++++++++++++++
.gitignore | 6 +++
.mvn/ge-extensions.xml | 34 +++++++++++++
.mvn/gradle-enterprise-custom-user-data.groovy | 44 +++++++++++++++++
.mvn/gradle-enterprise.xml | 43 ++++++++++++++++
9 files changed, 247 insertions(+), 1 deletion(-)
diff --git a/.github/actions/gradle-enterprise/action.yml b/.github/actions/gradle-enterprise/action.yml
new file mode 100644
index 00000000000..935e76d3cd6
--- /dev/null
+++ b/.github/actions/gradle-enterprise/action.yml
@@ -0,0 +1,36 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+name: Configure Gradle Enterprise integration
+description: Configure Gradle Enterprise when secret GE_ACCESS_TOKEN is available
+inputs:
+ token:
+ description: 'The token for accessing Gradle Enterprise'
+ required: true
+runs:
+ using: composite
+ steps:
+ - run: |
+ if [[ -n "${{ inputs.token }}" ]]; then
+ echo "::group::Configuring Gradle Enterprise for build"
+ cp .mvn/ge-extensions.xml .mvn/extensions.xml
+ echo "GRADLE_ENTERPRISE_ACCESS_KEY=${{ inputs.token }}" >> $GITHUB_ENV
+ echo "::endgroup::"
+ fi
+ shell: bash
\ No newline at end of file
diff --git a/.github/workflows/ci-maven-cache-update.yaml b/.github/workflows/ci-maven-cache-update.yaml
index daba3dcc032..831a2866bea 100644
--- a/.github/workflows/ci-maven-cache-update.yaml
+++ b/.github/workflows/ci-maven-cache-update.yaml
@@ -47,6 +47,8 @@ env:
jobs:
update-maven-dependencies-cache:
name: Update Maven dependency cache for ${{ matrix.name }}
+ env:
+ JOB_NAME: Update Maven dependency cache for ${{ matrix.name }}
runs-on: ${{ matrix.runs-on }}
timeout-minutes: 45
@@ -75,6 +77,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Detect changed files
if: ${{ github.event_name != 'schedule' }}
id: changes
diff --git a/.github/workflows/ci-owasp-dependency-check.yaml b/.github/workflows/ci-owasp-dependency-check.yaml
index 38bd7f9eec4..9ee9c8c46b3 100644
--- a/.github/workflows/ci-owasp-dependency-check.yaml
+++ b/.github/workflows/ci-owasp-dependency-check.yaml
@@ -28,7 +28,9 @@ env:
jobs:
run-owasp-dependency-check:
if: ${{ github.repository == 'apache/pulsar' }}
- name: Run OWASP Dependency Check
+ name: Run OWASP Dependency Check for ${{ matrix.name }}
+ env:
+ JOB_NAME: Run OWASP Dependency Check for ${{ matrix.name }}
runs-on: ubuntu-20.04
timeout-minutes: 45
strategy:
@@ -55,6 +57,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Cache local Maven repository
uses: actions/cache@v3
with:
diff --git a/.github/workflows/pulsar-ci-flaky.yaml b/.github/workflows/pulsar-ci-flaky.yaml
index 9c52cfe77d6..5f7a278b2eb 100644
--- a/.github/workflows/pulsar-ci-flaky.yaml
+++ b/.github/workflows/pulsar-ci-flaky.yaml
@@ -69,6 +69,8 @@ jobs:
build-and-test:
needs: preconditions
name: Flaky tests suite
+ env:
+ JOB_NAME: Flaky tests suite
runs-on: ubuntu-20.04
timeout-minutes: 100
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -79,6 +81,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
diff --git a/.github/workflows/pulsar-ci.yaml b/.github/workflows/pulsar-ci.yaml
index 3741d3c8424..fcc5b4ade30 100644
--- a/.github/workflows/pulsar-ci.yaml
+++ b/.github/workflows/pulsar-ci.yaml
@@ -75,6 +75,8 @@ jobs:
build-and-license-check:
needs: preconditions
name: Build and License check
+ env:
+ JOB_NAME: Build and License check
runs-on: ubuntu-20.04
timeout-minutes: 60
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
@@ -85,6 +87,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -145,6 +152,8 @@ jobs:
unit-tests:
name: CI - Unit - ${{ matrix.name }}
+ env:
+ JOB_NAME: CI - Unit - ${{ matrix.name }}
runs-on: ubuntu-20.04
timeout-minutes: ${{ matrix.timeout || 60 }}
needs: ['preconditions', 'build-and-license-check']
@@ -180,6 +189,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -281,6 +295,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -338,6 +357,7 @@ jobs:
needs: ['preconditions', 'pulsar-java-test-image']
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
env:
+ JOB_NAME: CI - Integration - ${{ matrix.name }}
PULSAR_TEST_IMAGE_NAME: apachepulsar/java-test-image:latest
strategy:
fail-fast: false
@@ -379,6 +399,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -486,6 +511,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Install gh-actions-artifact-client.js
uses: apache/pulsar-test-infra/gh-actions-artifact-client/dist@master
@@ -508,6 +538,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -598,6 +633,7 @@ jobs:
needs: ['preconditions', 'pulsar-test-latest-version-image']
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
env:
+ JOB_NAME: CI - System - ${{ matrix.name }}
PULSAR_TEST_IMAGE_NAME: apachepulsar/pulsar-test-latest-version:latest
strategy:
fail-fast: false
@@ -634,6 +670,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -726,6 +767,7 @@ jobs:
needs: [ 'preconditions', 'pulsar-test-latest-version-image' ]
if: ${{ needs.preconditions.outputs.docs_only != 'true' }}
env:
+ JOB_NAME: CI Flaky - System - ${{ matrix.name }}
PULSAR_TEST_IMAGE_NAME: apachepulsar/pulsar-test-latest-version:latest
strategy:
fail-fast: false
@@ -745,6 +787,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
@@ -847,6 +894,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Install gh-actions-artifact-client.js
uses: apache/pulsar-test-infra/gh-actions-artifact-client/dist@master
@@ -867,6 +919,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Cache Maven dependencies
uses: actions/cache@v3
with:
@@ -899,6 +956,11 @@ jobs:
- name: Tune Runner VM
uses: ./.github/actions/tune-runner-vm
+ - name: Configure Gradle Enterprise
+ uses: ./.github/actions/gradle-enterprise
+ with:
+ token: ${{ secrets.GE_ACCESS_TOKEN }}
+
- name: Setup ssh access to build runner VM
# ssh access is enabled for builds in own forks
if: ${{ github.repository != 'apache/pulsar' && github.event_name == 'pull_request' }}
diff --git a/.gitignore b/.gitignore
index 2759cf054f5..c584baaa0a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,3 +92,9 @@ examples/flink/src/main/java/org/apache/flink/avro/generated
pulsar-flink/src/test/java/org/apache/flink/avro/generated
pulsar-client/src/test/java/org/apache/pulsar/client/avro/generated
/build/
+
+test-reports/
+
+# Gradle Enterprise
+.mvn/.gradle-enterprise/
+.mvn/extensions.xml
diff --git a/.mvn/ge-extensions.xml b/.mvn/ge-extensions.xml
new file mode 100644
index 00000000000..5852f0f5bae
--- /dev/null
+++ b/.mvn/ge-extensions.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
+ <extension>
+ <groupId>com.gradle</groupId>
+ <artifactId>gradle-enterprise-maven-extension</artifactId>
+ <version>1.16.1</version>
+ </extension>
+ <extension>
+ <groupId>com.gradle</groupId>
+ <artifactId>common-custom-user-data-maven-extension</artifactId>
+ <version>1.11.1</version>
+ </extension>
+</extensions>
diff --git a/.mvn/gradle-enterprise-custom-user-data.groovy b/.mvn/gradle-enterprise-custom-user-data.groovy
new file mode 100644
index 00000000000..90546a1cbe8
--- /dev/null
+++ b/.mvn/gradle-enterprise-custom-user-data.groovy
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+// Add Maven command line arguments
+def mavenCommand = ''
+if (System.env.MAVEN_CMD_LINE_ARGS) {
+ mavenCommand = "mvn ${System.env.MAVEN_CMD_LINE_ARGS}".toString()
+ buildScan.value('Maven command line', mavenCommand)
+}
+if (System.env.GITHUB_ACTIONS) {
+ if (mavenSession.goals.size() == 1 && mavenSession.goals[0] == 'initialize') {
+ // omit publishing build scan when the only goal is "initialize"
+ buildScan.publishOnDemand()
+ } else {
+ def jobName = System.env.JOB_NAME ?: System.env.GITHUB_JOB
+ buildScan.value('GitHub Actions Job name', jobName)
+ buildScan.value('GitHub Actions Event name', System.env.GITHUB_EVENT_NAME)
+ buildScan.value('GitHub Ref name', System.env.GITHUB_REF_NAME)
+ buildScan.value('GitHub Actor', System.env.GITHUB_ACTOR)
+ buildScan.link('GitHub Repository', "https://github.com/" + System.env.GITHUB_REPOSITORY)
+ buildScan.link('GitHub Commit', "https://github.com/" + System.env.GITHUB_REPOSITORY + "/commits/" + System.env.GITHUB_SHA)
+ buildScan.buildScanPublished { publishedBuildScan ->
+ new File(System.env.GITHUB_STEP_SUMMARY).withWriterAppend { out ->
+ out.println("\n[Gradle build scan for '${mavenCommand}' in ${jobName}](${publishedBuildScan.buildScanUri})\n")
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/.mvn/gradle-enterprise.xml b/.mvn/gradle-enterprise.xml
new file mode 100644
index 00000000000..e11ae1a6d85
--- /dev/null
+++ b/.mvn/gradle-enterprise.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<gradleEnterprise
+ xmlns="https://www.gradle.com/gradle-enterprise-maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://www.gradle.com/gradle-enterprise-maven https://www.gradle.com/schema/gradle-enterprise-maven.xsd">
+ <server>
+ <url>https://ge.apache.org</url>
+ <allowUntrusted>false</allowUntrusted>
+ </server>
+ <buildScan>
+ <captureGoalInputFiles>true</captureGoalInputFiles>
+ <backgroundBuildScanUpload>#{isFalse(env['GITHUB_ACTIONS'])}</backgroundBuildScanUpload>
+ <publish>ALWAYS</publish>
+ <publishIfAuthenticated>true</publishIfAuthenticated>
+ <obfuscation>
+ <ipAddresses>#{{'0.0.0.0'}}</ipAddresses>
+ </obfuscation>
+ </buildScan>
+ <buildCache>
+ <local>
+ <enabled>true</enabled>
+ </local>
+ </buildCache>
+</gradleEnterprise>