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 <[email protected]>
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` |
[](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)`|
[](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)` |
[](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)` |
[](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` |
[](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/[email protected]
+ 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"