You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by xq...@apache.org on 2026/04/09 00:21:20 UTC

(beam) branch fix/beam-38094-slow-streaming-test created (now 935b8a4ecda)

This is an automated email from the ASF dual-hosted git repository.

xqhu pushed a change to branch fix/beam-38094-slow-streaming-test
in repository https://gitbox.apache.org/repos/asf/beam.git


      at 935b8a4ecda Add PreCommit Java Dataflow workflow (#38094)

This branch includes the following new commits:

     new 935b8a4ecda Add PreCommit Java Dataflow workflow (#38094)

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.



(beam) 01/01: Add PreCommit Java Dataflow workflow (#38094)

Posted by xq...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xqhu pushed a commit to branch fix/beam-38094-slow-streaming-test
in repository https://gitbox.apache.org/repos/asf/beam.git

commit 935b8a4ecda9537bc92417d87dd4d069f4404970
Author: liferoad <hu...@gmail.com>
AuthorDate: Wed Apr 8 20:21:05 2026 -0400

    Add PreCommit Java Dataflow workflow (#38094)
    
    Split Dataflow worker tests into a separate PreCommit job to reduce
    Java PreCommit runtime. The StreamingDataflowWorkerTest suite takes >1h,
    causing the main Java PreCommit to exceed typical CI timeouts.
    
    New workflow: beam_PreCommit_Java_Dataflow
    - Runs only on changes to runners/google-cloud-dataflow-java/worker/**
    - Triggers on push, PR, schedule (every 6h), workflow_dispatch, and
      issue comment 'Run Java Dataflow PreCommit'
    - Runs :runners:google-cloud-dataflow-java:worker:test
    - Timeout: 240 minutes
    
    Fixes #38094
---
 .../beam_PreCommit_Java_Dataflow.json              |   4 +
 .github/workflows/beam_PreCommit_Java_Dataflow.yml | 132 +++++++++++++++++++++
 2 files changed, 136 insertions(+)

diff --git a/.github/trigger_files/beam_PreCommit_Java_Dataflow.json b/.github/trigger_files/beam_PreCommit_Java_Dataflow.json
new file mode 100644
index 00000000000..ffd631c4460
--- /dev/null
+++ b/.github/trigger_files/beam_PreCommit_Java_Dataflow.json
@@ -0,0 +1,4 @@
+{
+  "comment": "Modify this file in a trivial way to cause this test suite to run.",
+  "modification": 1
+}
\ No newline at end of file
diff --git a/.github/workflows/beam_PreCommit_Java_Dataflow.yml b/.github/workflows/beam_PreCommit_Java_Dataflow.yml
new file mode 100644
index 00000000000..f1838211d59
--- /dev/null
+++ b/.github/workflows/beam_PreCommit_Java_Dataflow.yml
@@ -0,0 +1,132 @@
+# 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 or 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: PreCommit Java Dataflow
+
+on:
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+    paths:
+      - 'runners/google-cloud-dataflow-java/worker/**'
+      - '.github/workflows/beam_PreCommit_Java_Dataflow.yml'
+  pull_request_target:
+    branches: ['master', 'release-*']
+    paths:
+      - 'runners/google-cloud-dataflow-java/worker/**'
+      - '.github/trigger_files/beam_PreCommit_Java_Dataflow.json'
+  issue_comment:
+    types: [created]
+  schedule:
+    - cron: '30 2/6 * * *'
+  workflow_dispatch:
+
+concurrency:
+  group: '${{ github.workflow }} @ ${{ github.event.pull_request.number || github.event.pull_request.head.label || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.id || github.event.sender.login }}'
+  cancel-in-progress: true
+
+permissions:
+  actions: write
+  pull-requests: write
+  checks: write
+  contents: read
+  deployments: read
+  id-token: none
+  issues: write
+  discussions: read
+  packages: read
+  pages: read
+  repository-projects: read
+  security-events: read
+  statuses: read
+
+env:
+  DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
+  GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
+  GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
+
+jobs:
+  beam_PreCommit_Java_Dataflow:
+    name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
+    runs-on: [self-hosted, ubuntu-20.04, main]
+    strategy:
+      fail-fast: false
+      matrix:
+        job_name: [beam_PreCommit_Java_Dataflow]
+        job_phrase: [Run Java Dataflow PreCommit]
+    timeout-minutes: 240
+    if: |
+      github.event_name == 'push' ||
+      github.event_name == 'pull_request_target' ||
+      (github.event_name == 'schedule' && github.repository == 'apache/beam') ||
+      github.event_name == 'workflow_dispatch' ||
+      github.event.comment.body == 'Run Java Dataflow PreCommit'
+    steps:
+      - uses: actions/checkout@v4
+      - name: Setup repository
+        uses: ./.github/actions/setup-action
+        with:
+          comment_phrase: ${{ matrix.job_phrase }}
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          github_job: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
+      - name: Setup environment
+        uses: ./.github/actions/setup-environment-action
+        with:
+          python-version: default
+          disable-cache: true
+      - name: Run Dataflow Worker tests
+        uses: ./.github/actions/gradle-command-self-hosted-action
+        with:
+          gradle-command: :runners:google-cloud-dataflow-java:worker:test
+          arguments: |
+            -PdisableSpotlessCheck=true \
+            -PdisableCheckStyle=true \
+            -PenableJacocoReport \
+      - name: Archive JUnit Test Results
+        uses: actions/upload-artifact@v4
+        if: ${{ !success() }}
+        with:
+          name: JUnit Test Results
+          path: "**/build/reports/tests/"
+      - name: Publish JUnit Test Results
+        uses: EnricoMi/publish-unit-test-result-action@v2
+        if: always()
+        with:
+          commit: '${{ env.prsha || env.GITHUB_SHA }}'
+          comment_mode: ${{ github.event_name == 'issue_comment'  && 'always' || 'off' }}
+          files: '**/build/test-results/**/*.xml'
+          large_files: true
+      - name: Archive SpotBugs Results
+        uses: actions/upload-artifact@v4
+        if: always()
+        with:
+          name: SpotBugs Results
+          path: '**/build/reports/spotbugs/*.html'
+      - name: Publish SpotBugs Results
+        uses: jwgmeligmeyling/spotbugs-github-action@v1.2
+        if: always()
+        with:
+          name: Publish SpotBugs
+          path: '**/build/reports/spotbugs/*.html'
+      - name: Archive Jacoco Results
+        uses: actions/upload-artifact@v4
+        with:
+          name: Jacoco Results
+          path: '**/build/jacoco/report/**'
+      - name: Upload coverage reports to Codecov
+        uses: codecov/codecov-action@v3
+        with:
+          flags: java
\ No newline at end of file