andreydevyatkin commented on code in PR #27379:
URL: https://github.com/apache/beam/pull/27379#discussion_r1254308648


##########
.github/workflows/README.md:
##########
@@ -0,0 +1,28 @@
+<!--
+    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.
+-->
+| Workflow name | Trigger Phrase | Cron Status |
+|:-------------:|:--------------:|:-----------:|
+| [ Go Precommit 
](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Go.yml) | 
`Run Go PreCommit`| [![Go 
Precommit](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Go.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/beam_PreCommit_Go.yml)
 |
+| [ Python PreCommit Docker 
](https://github.com/apache/beam/actions/workflows/job_Precommit_Python_DockerBuild.yml)
 | `Run PythonDocker PreCommit`| 
[![.github/workflows/job_Precommit_Python_DockerBuild.yml](https://github.com/apache/beam/actions/workflows/job_Precommit_Python_DockerBuild.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/job_Precommit_Python_DockerBuild.yml)
 |
+| [ Python Precommit Formatter 
](https://github.com/apache/beam/actions/workflows/job_PreCommit_PythonAutoformatter.yml)
 | `Run PythonFormatter PreCommit`| 
[![.github/workflows/job_Precommit_Python_DockerBuild.yml](https://github.com/apache/beam/actions/workflows/job_Precommit_Python_DockerBuild.yml/badge.svg?event=schedule)](https://github.com/apache/beam/actions/workflows/job_Precommit_Python_DockerBuild.yml)
 |

Review Comment:
   The job is `Python Precommit Formatter`, but the links are related to the 
`Python PreCommit Docker`



##########
.github/workflows/job_PreCommit_PythonAutoformatter.yml:
##########
@@ -0,0 +1,77 @@
+# 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: Python Precommit Formatter
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:

Review Comment:
   The `push` event should also include a list of `paths`. Please apply this to 
all the job files below.



##########
.github/workflows/job_PreCommit_Python_Dataframes.yml:
##########
@@ -0,0 +1,81 @@
+# 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: Python PreCommit Dataframes
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+jobs:
+  beam_PreCommit_Python_Dataframes:
+    strategy:
+      matrix:
+        python_version: ['3.8','3.9','3.10']

Review Comment:
   It should also include version `3.11` - 
https://github.com/apache/beam/blob/master/build.gradle.kts#L469. Please apply 
this change to all the jobs that run the `pythonPreCommit` task.



##########
.github/workflows/job_PreCommit_Python_Examples.yml:
##########
@@ -0,0 +1,83 @@
+# 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: Python PreCommit Examples
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+
+jobs:
+  beam_PreCommit_Python_Examples:
+    strategy:
+      matrix:
+        python_version: ['3.8','3.9','3.10']
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run Python_Examples PreCommit' || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04]
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Rerun on comment
+        if: github.event.comment.body == 'Run Python_Examples PreCommit'
+        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 }}
+          github_current_run_id: ${{ github.run_id }}
+      - uses: actions/setup-python@v2
+        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 pythonPreCommit
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:tox:py${PY_VER//.}:preCommitPy${PY_VER//.} 
-Pposargs=apache_beam/examples/ -PpythonVersion=${PY_VER}
+

Review Comment:
   We need to add a step to publish the test results file 
https://github.com/apache/beam/blob/master/.test-infra/jenkins/job_PreCommit_Python_Dataframes.groovy#L38.
   See the example 
https://github.com/apache/beam/pull/27379/files#diff-d22ae43f16c160c42316d2cf5149431ba30ae81d19e43344722b5e365efe813eR83



##########
.github/workflows/job_PreCommit_Python_Runners.yml:
##########
@@ -0,0 +1,85 @@
+# 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: Python PreCommit Runners
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+
+jobs:
+  beam_PreCommit_Python_Runners:
+    strategy:
+      matrix:
+        python_version: ['3.8','3.9','3.10']
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run Python_Runners PreCommit' || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04]
+
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Rerun on comment
+        if: github.event.comment.body == 'Run Python_Runners PreCommit'
+        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 }}
+          github_current_run_id: ${{ github.run_id }}
+      - uses: actions/setup-python@v2
+        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 pythonPreCommit
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:tox:py${PY_VER//.}:preCommitPy${PY_VER//.} 
-Pposargs=apache_beam/runners/ -PpythonVersion=${PY_VER}
+

Review Comment:
   We need to add a step to publish the test results file 
https://github.com/apache/beam/blob/master/.test-infra/jenkins/job_PreCommit_Python_Dataframes.groovy#L38.
   See the example 
https://github.com/apache/beam/pull/27379/files#diff-d22ae43f16c160c42316d2cf5149431ba30ae81d19e43344722b5e365efe813eR83



##########
.github/workflows/job_PreCommit_Python_Transforms.yml:
##########
@@ -0,0 +1,84 @@
+# 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: Python PreCommit Transforms
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+
+jobs:
+  beam_PreCommit_Python_Transforms:
+    strategy:
+      matrix:
+        python_version: ['3.8','3.9','3.10']
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run Python_Transforms PreCommit' || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04]
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Rerun on comment
+        if: github.event.comment.body == 'Run Python_Transforms PreCommit'
+        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 }}
+          github_current_run_id: ${{ github.run_id }}
+      - uses: actions/setup-python@v2
+        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 pythonPreCommit
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:tox:py${PY_VER//.}:preCommitPy${PY_VER//.} 
-Pposargs=apache_beam/transforms/ -PpythonVersion=${PY_VER}
+

Review Comment:
   We need to add a step to publish the test results file 
https://github.com/apache/beam/blob/master/.test-infra/jenkins/job_PreCommit_Python_Dataframes.groovy#L38.
   See the example 
https://github.com/apache/beam/pull/27379/files#diff-d22ae43f16c160c42316d2cf5149431ba30ae81d19e43344722b5e365efe813eR83



##########
.github/workflows/job_PreCommit_Python_Dataframes.yml:
##########
@@ -0,0 +1,81 @@
+# 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: Python PreCommit Dataframes
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+jobs:
+  beam_PreCommit_Python_Dataframes:
+    strategy:
+      matrix:
+        python_version: ['3.8','3.9','3.10']
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run Python_Dataframes PreCommit' || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04]
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Rerun on comment
+        if: github.event.comment.body == 'Run Python_Dataframes PreCommit'
+        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 }}
+          github_current_run_id: ${{ github.run_id }}
+      - uses: actions/setup-python@v2
+        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 pythonPreCommit
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:tox:py${PY_VER//.}:preCommitPy${PY_VER//.} 
-Pposargs=apache_beam/dataframe/ -PpythonVersion=${PY_VER}

Review Comment:
   We need to add a step to publish the test results file 
https://github.com/apache/beam/blob/master/.test-infra/jenkins/job_PreCommit_Python_Dataframes.groovy#L38.
   See the example 
https://github.com/apache/beam/pull/27379/files#diff-d22ae43f16c160c42316d2cf5149431ba30ae81d19e43344722b5e365efe813eR83



##########
.github/workflows/job_Precommit_Python.yml:
##########
@@ -0,0 +1,82 @@
+# 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: Python PreCommit
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+jobs:
+  beam_PreCommit_Python:
+    strategy:
+      matrix:
+        python_version: ['3.8','3.9','3.10']
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run Python PreCommit' || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04]
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Rerun on comment
+        if: github.event.comment.body == 'Run Python PreCommit'
+        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 }}
+          github_current_run_id: ${{ github.run_id }}
+      - uses: actions/setup-python@v2
+        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 pythonPreCommit
+        run: |
+          PY_VER=${{ matrix.python_version }}
+          ./gradlew 
:sdks:python:test-suites:tox:py${PY_VER//.}:preCommitPy${PY_VER//.} 
-Pposargs="--ignore=apache_beam/dataframe/ --ignore=apache_beam/examples/ 
--ignore=apache_beam/runners/ --ignore=apache_beam/transforms/" 
-PpythonVersion=${PY_VER}

Review Comment:
   We need to add a step to publish the test results file 
https://github.com/apache/beam/blob/master/.test-infra/jenkins/job_PreCommit_Python_Dataframes.groovy#L38.
   See the example 
https://github.com/apache/beam/pull/27379/files#diff-d22ae43f16c160c42316d2cf5149431ba30ae81d19e43344722b5e365efe813eR83



##########
.github/workflows/job_Precommit_Python_Coverage.yml:
##########
@@ -0,0 +1,87 @@
+# 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: Python PreCommit Coverage
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+
+jobs:
+  beam_PreCommit_Python_Coverage:
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run Python_Coverage PreCommit' || 
+      github.event_name == 'schedule'
+
+    runs-on: [self-hosted, ubuntu-20.04]
+

Review Comment:
   nit: formatting



##########
.github/workflows/job_Precommit_Python_DockerBuild.yml:
##########
@@ -0,0 +1,82 @@
+# 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: Python PreCommit Docker
+on:
+  pull_request_target:
+    branches: [ "master", "release-*" ]
+    paths: [ "model/**","sdks/python/**","release/**"]
+  issue_comment:
+    types: [created]
+  push:
+    tags: ['v*']
+    branches: ['master', 'release-*']
+  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
+
+jobs:
+  beam_PreCommit_PythonDocker:
+    if: |
+      github.event_name == 'push' || 
+      github.event_name == 'pull_request_target' || 
+      github.event.comment.body == 'Run PythonDocker PreCommit' || 
+      github.event_name == 'schedule'
+    runs-on: [self-hosted, ubuntu-20.04]
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: ${{ github.event.pull_request.head.sha }}
+      - name: Rerun on comment
+        if: github.event.comment.body == 'Run PythonDocker PreCommit'
+        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 }}
+          github_current_run_id: ${{ github.run_id }}
+      - name: Install Java
+        uses: actions/[email protected]
+        with:
+          distribution: 'zulu'
+          java-version: '8'
+      - uses: actions/setup-go@v4
+        with:
+          go-version: '1.16'
+      - uses: actions/setup-python@v4
+        with:
+          python-version: '3.8'
+      - name: Setup Gradle
+        uses: gradle/gradle-build-action@v2
+        with:
+          cache-read-only: false
+      - name: Setup Buildx
+        uses: docker/setup-buildx-action@v1
+      - name: run PythonDockerPrecommit script
+        run: ./gradlew :pythonDockerBuildPreCommit

Review Comment:
   This task requires python 3.8, 3.9, 3.10, 3.11 to be installed - 
https://github.com/apache/beam/blob/master/build.gradle.kts#L482



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to