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

xqhu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new 78630d15445 Add a new precommit workflow to test flink container 
(#33206)
78630d15445 is described below

commit 78630d15445fdf54935d6ba99c2fd9d0930b6af8
Author: liferoad <[email protected]>
AuthorDate: Mon Nov 25 09:45:14 2024 -0500

    Add a new precommit workflow to test flink container (#33206)
    
    * Add a new precommit to test finl container
    
    * Changed trigger file for Flink container workflow
    
    * updated the timeout
    
    * only allow maual trigger to test
    
    * fixed the PR check
    
    * fixed the workflow checks
---
 .../beam_PreCommit_Flink_Container.json            |   4 +
 .../workflows/beam_PreCommit_Flink_Container.yml   | 155 +++++++++++++++++++++
 2 files changed, 159 insertions(+)

diff --git a/.github/trigger_files/beam_PreCommit_Flink_Container.json 
b/.github/trigger_files/beam_PreCommit_Flink_Container.json
new file mode 100644
index 00000000000..b75e2800330
--- /dev/null
+++ b/.github/trigger_files/beam_PreCommit_Flink_Container.json
@@ -0,0 +1,4 @@
+{
+    "https://github.com/apache/beam/pull/33206": "testing the new flink 
container workflow"
+}
+  
\ No newline at end of file
diff --git a/.github/workflows/beam_PreCommit_Flink_Container.yml 
b/.github/workflows/beam_PreCommit_Flink_Container.yml
new file mode 100644
index 00000000000..7b82469d2b8
--- /dev/null
+++ b/.github/workflows/beam_PreCommit_Flink_Container.yml
@@ -0,0 +1,155 @@
+# 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: PreCommit Flink Container
+
+on:
+  pull_request_target:
+    paths:
+      - '.github/trigger_files/beam_PreCommit_Flink_Container.json'
+      - 'release/trigger_all_tests.json'
+  workflow_dispatch:
+
+# Setting explicit permissions for the action to avoid the default permissions 
which are `write-all`
+permissions:
+  actions: write
+  pull-requests: read
+  checks: read
+  contents: read
+  deployments: read
+  id-token: none
+  issues: read
+  discussions: read
+  packages: read
+  pages: read
+  repository-projects: read
+  security-events: read
+  statuses: read
+
+# This allows a subsequently queued workflow run to interrupt previous runs
+concurrency:
+  group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.sha 
|| github.head_ref || github.ref }}'
+  cancel-in-progress: true
+
+env:
+  DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
+  GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
+  GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
+  INFLUXDB_USER: ${{ secrets.INFLUXDB_USER }}
+  INFLUXDB_USER_PASSWORD: ${{ secrets.INFLUXDB_USER_PASSWORD }}
+  GCLOUD_ZONE: us-central1-a
+  CLUSTER_NAME: beam-precommit-flink-container-${{ github.run_id }}
+  GCS_BUCKET: gs://beam-flink-cluster
+  FLINK_DOWNLOAD_URL: 
https://archive.apache.org/dist/flink/flink-1.17.0/flink-1.17.0-bin-scala_2.12.tgz
+  HADOOP_DOWNLOAD_URL: 
https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/2.8.3-10.0/flink-shaded-hadoop-2-uber-2.8.3-10.0.jar
+  FLINK_TASKMANAGER_SLOTS: 1
+  DETACHED_MODE: true
+  HARNESS_IMAGES_TO_PULL: 
gcr.io/apache-beam-testing/beam-sdk/beam_go_sdk:latest
+  JOB_SERVER_IMAGE: 
gcr.io/apache-beam-testing/beam_portability/beam_flink1.17_job_server:latest
+  ARTIFACTS_DIR: gs://beam-flink-cluster/beam-precommit-flink-container-${{ 
github.run_id }}
+
+jobs:
+  beam_PreCommit_Flink_Container:
+    if: |
+      github.event_name == 'workflow_dispatch' ||
+      github.event_name == 'push' ||
+      github.event_name == 'schedule' ||
+      (github.event_name == 'pull_request_target' && 
+       github.base_ref == 'master' && 
+       github.event.pull_request.draft == false) ||
+      github.event.comment.body == 'Run Flink Container PreCommit'
+    runs-on: [self-hosted, ubuntu-20.04, main]
+    timeout-minutes: 45
+    name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
+    strategy:
+      matrix:
+        job_name: ["beam_PreCommit_Flink_Container"]
+        job_phrase: ["Run Flink Container 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: Start Flink with parallelism 1
+        env:
+          FLINK_NUM_WORKERS: 1
+        run: |
+          cd ${{ github.workspace }}/.test-infra/dataproc; ./flink_cluster.sh 
create
+      # Run a simple Go Combine load test to verify the Flink container
+      - name: Run Flink Container Test with Go Combine
+        timeout-minutes: 10
+        uses: ./.github/actions/gradle-command-self-hosted-action
+        with:
+          gradle-command: :sdks:go:test:load:run
+          arguments: |
+            -PloadTest.mainClass=combine \
+            -Prunner=PortableRunner \
+            -PloadTest.args="
+              --runner=FlinkRunner \
+              --job_endpoint=localhost:8099 \
+              --environment_type=DOCKER \
+              
--environment_config=gcr.io/apache-beam-testing/beam-sdk/beam_go_sdk:latest \
+              --parallelism=1 \
+              
--input_options=\"{\"num_records\":200,\"key_size\":1,\"value_size\":9}\"
+              --fanout=1 \
+              --top_count=10 \
+              --iterations=1"
+      
+      # Run a Python Combine load test to verify the Flink container
+      - name: Run Flink Container Test with Python Combine
+        timeout-minutes: 10
+        uses: ./.github/actions/gradle-command-self-hosted-action
+        with:
+          gradle-command: :sdks:python:test:load:run
+          arguments: |
+            -PloadTest.mainClass=apache_beam.testing.load_tests.combine_test \
+            -Prunner=FlinkRunner \
+            -PloadTest.args="
+              --runner=PortableRunner \
+              --job_endpoint=localhost:8099 \
+              --environment_type=DOCKER \
+              
--environment_config=gcr.io/apache-beam-testing/beam-sdk/beam_python3.9_sdk:latest
 \
+              --parallelism=1 \
+              
--input_options=\"{\"num_records\":200,\"key_size\":1,\"value_size\":9,\"algorithm\":\"lcg\"}\"
 \
+              --fanout=1 \
+              --top_count=10 \
+              --iterations=1"
+
+      # Run a Java Combine load test to verify the Flink container
+      - name: Run Flink Container Test with Java Combine
+        timeout-minutes: 10
+        uses: ./.github/actions/gradle-command-self-hosted-action
+        with:
+          gradle-command: :sdks:java:testing:load-tests:run
+          arguments: |
+            -PloadTest.mainClass=org.apache.beam.sdk.loadtests.CombineLoadTest 
\
+            -Prunner=:runners:flink:1.17 \
+            -PloadTest.args="
+              --runner=FlinkRunner \
+              --environment_type=DOCKER \
+              
--environment_config=gcr.io/apache-beam-testing/beam-sdk/beam_java11_sdk:latest 
\
+              --parallelism=1 \
+              
--sourceOptions={\"numRecords\":200,\"keySizeBytes\":1,\"valueSizeBytes\":9} \
+              --fanout=1 \
+              --iterations=1 \
+              --topCount=10"
+
+      - name: Teardown Flink
+        if: always()
+        run: |
+          ${{ github.workspace }}/.test-infra/dataproc/flink_cluster.sh delete
\ No newline at end of file

Reply via email to