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

yhu 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 fca00ff53d7 Add PreCommit PythonIT job (#27519)
fca00ff53d7 is described below

commit fca00ff53d76d003d46ed4f0f448c86ca1592afe
Author: Vitaly Terentyev <vitaly.terent...@akvelon.com>
AuthorDate: Tue Jul 18 21:37:53 2023 +0400

    Add PreCommit PythonIT job (#27519)
    
    * Add PreCommit PythonIT job
    
    * Rename Python_Integration job
---
 .github/workflows/README.md                        |   1 +
 .../beam_PreCommit_Python_Integration.yml          | 108 +++++++++++++++++++++
 2 files changed, 109 insertions(+)

diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 4641d59532f..083a1326ae7 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -29,4 +29,5 @@ Please note that jobs with matrix need to have matrix element 
in the comment. Ex
 | [ Python PreCommit Lint 
](https://github.com/apache/beam/actions/workflows/job_PreCommit_PythonLint.yml)
 | N/A | `Run PythonLint PreCommit` | 
[![.github/workflows/job_PreCommit_PythonLint.yml](https://github.com/apache/beam/actions/workflows/job_PreCommit_PythonLint.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/job_PreCommit_PythonLint.yml)
 |
 | [ Python PreCommit Transforms 
](https://github.com/apache/beam/actions/workflows/job_PreCommit_Python_Transforms.yml)
 | ['3.8','3.9','3.10','3.11'] | `Run Python_Transforms PreCommit 
(matrix_element)`| 
[![.github/workflows/job_PreCommit_Python_Transforms.yml](https://github.com/apache/beam/actions/workflows/job_PreCommit_Python_Transforms.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/job_PreCommit_Python_Transforms.yml)
 |
 | [ Python PreCommit 
](https://github.com/apache/beam/actions/workflows/job_PreCommit_Python.yml) | 
['3.8','3.9','3.10','3.11'] | `Run Python PreCommit (matrix_element)` | 
[![.github/workflows/job_PreCommit_Python.yml](https://github.com/apache/beam/actions/workflows/job_PreCommit_Python.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/job_PreCommit_Python.yml)
 |
+| [ PreCommit Python 
Integration](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Integration.yml)
 | ['3.8','3.11'] | `Run Python_Integration PreCommit (matrix_element)` | 
[![.github/workflows/beam_PreCommit_Python_Integration.yml](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Integration.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Python_Integration.yml)
 |
 | [ RAT PreCommit 
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_RAT.yml) | 
N/A | `Run RAT PreCommit` | 
[![.github/workflows/beam_PreCommit_RAT.yml](https://github.com/apache/beam/actions/workflows/beam_PreCommit_RAT.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_RAT.yml)
 |
diff --git a/.github/workflows/beam_PreCommit_Python_Integration.yml 
b/.github/workflows/beam_PreCommit_Python_Integration.yml
new file mode 100644
index 00000000000..4316192349b
--- /dev/null
+++ b/.github/workflows/beam_PreCommit_Python_Integration.yml
@@ -0,0 +1,108 @@
+# 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 Python Integration
+
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: ["model/**", "sdks/python/**", "release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+    paths: ["model/**", "sdks/python/**", "release/**", 
".github/workflows/beam_PreCommit_Python_Integration.yml"]
+  schedule:
+    - cron: '* */6 * * *'
+
+#Setting explicit permissions for the action to avoid the default permissions 
which are `write-all` in case of pull_request_target event
+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.pull_request.head.label || 
github.head_ref || github.ref }}'
+  cancel-in-progress: true
+
+jobs:
+  beam_PreCommit_Python_Integration:
+    name: beam_PreCommit_Python_Integration
+    strategy:
+      fail-fast: false
+      matrix:
+        python_version: ['3.8', '3.11']
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      startsWith(github.event.comment.body, 'Run Python_Integration 
PreCommit') || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04, main]
+    steps:
+      - name: Check out repository code
+        uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Set comment body with matrix
+        id: set_comment_body
+        run: |
+          echo "comment_body=Run Python_Integration PreCommit (${{ 
matrix.python_version }})" >> $GITHUB_OUTPUT
+      - name: Rerun on comment
+        if: github.event.comment.body == 
steps.set_comment_body.outputs.comment_body
+        uses: ./.github/actions/rerun-job-action
+        with:
+          pull_request_url: ${{ github.event.issue.pull_request.url }}
+          github_repository: ${{ github.repository }}
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+          github_job: "${{ github.job }} (${{ matrix.python_version }})"
+          github_current_run_id: ${{ github.run_id }}
+      - name: Install Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: ${{ matrix.python_version }}
+      - name: Install Java
+        uses: actions/setup-java@v3.8.0
+        with:
+          distribution: 'zulu'
+          java-version: '8'
+      - name: Setup Gradle
+        uses: gradle/gradle-build-action@v2
+        with:
+          cache-read-only: false
+      - name: run Python Integration PreCommit batch script
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:dataflow:py${PY_VER//.}:preCommitIT_batch 
-PuseWheelDistribution -PpythonVersion=${PY_VER}
+      - name: run Python Integration PreCommit streaming script
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:dataflow:py${PY_VER//.}:preCommitIT_streaming 
-PuseWheelDistribution -PpythonVersion=${PY_VER}
+      - name: Archive code coverage results
+        uses: actions/upload-artifact@v3
+        with:
+          name: python-code-coverage-report
+          path: "**/pytest*.xml"

Reply via email to