You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by "Abacn (via GitHub)" <gi...@apache.org> on 2024/03/21 19:30:43 UTC

[PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Abacn opened a new pull request, #30704:
URL: https://github.com/apache/beam/pull/30704

   **Please** add a meaningful description for your change here
   
   PreCommit Python Coverage costs ~2h30min to run outstandingly. Splitting the dependency compatibility unit tests from this test suite and put into a new PostCommit
   
   ------------------------
   
   Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment `fixes #<ISSUE NUMBER>` instead.
    - [ ] Update `CHANGES.md` with noteworthy changes.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://github.com/apache/beam/blob/master/CONTRIBUTING.md#make-the-reviewers-job-easier).
   
   To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
   
   GitHub Actions Tests Status (on master branch)
   ------------------------------------------------------------------------------------------------
   [![Build python source distribution and wheels](https://github.com/apache/beam/workflows/Build%20python%20source%20distribution%20and%20wheels/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
   [![Python tests](https://github.com/apache/beam/workflows/Python%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Java tests](https://github.com/apache/beam/workflows/Java%20Tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
   [![Go tests](https://github.com/apache/beam/workflows/Go%20tests/badge.svg?branch=master&event=schedule)](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
   
   See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI or the [workflows README](https://github.com/apache/beam/blob/master/.github/workflows/README.md) to see a list of phrases to trigger workflows.
   


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on PR #30704:
URL: https://github.com/apache/beam/pull/30704#issuecomment-2013707290

   btw code coverage report seems broken for a while:
   
   ```
   [2024-03-21T20:24:10.281Z] ['error'] There was an error running the uploader: Error uploading to https://codecov.io: Error: There was an error fetching the storage URL during POST: 400 - Could not determine repo and owner
   ```


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1535642057


##########
sdks/python/test-suites/tox/py38/build.gradle:
##########
@@ -44,120 +44,123 @@ lint.dependsOn mypyPy38
 apply from: "../common.gradle"
 
 
-
-// PyCoverage Precommit runs test suites that evaluate test coverage and compatibility of
-// particular dependencies. It is exercised on a single Python version.
+toxTask "testPy38CloudCoverage", "py38-cloudcoverage", "${posargs}"
+test.dependsOn "testPy38CloudCoverage"
 project.tasks.register("preCommitPyCoverage") {
       dependsOn = ["testPy38CloudCoverage"]
 }
 
+// Dep Postcommit runs test suites that evaluate compatibility of particular
+// dependencies. It is exercised on a single Python version.
+project.tasks.register("postCommitPyDep") {}
+
 // Create a test task for each supported major version of pyarrow
 toxTask "testPy38pyarrow-3", "py38-pyarrow-3", "${posargs}"
 test.dependsOn "testPy38pyarrow-3"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-3"
+postCommitPyDep.dependsOn "testPy38pyarrow-3"
 
 toxTask "testPy38pyarrow-4", "py38-pyarrow-4", "${posargs}"
 test.dependsOn "testPy38pyarrow-4"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-4"
+postCommitPyDep.dependsOn "testPy38pyarrow-4"
 
 toxTask "testPy38pyarrow-5", "py38-pyarrow-5", "${posargs}"
 test.dependsOn "testPy38pyarrow-5"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-5"
+postCommitPyDep.dependsOn "testPy38pyarrow-5"
 
 toxTask "testPy38pyarrow-6", "py38-pyarrow-6", "${posargs}"
 test.dependsOn "testPy38pyarrow-6"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-6"
+postCommitPyDep.dependsOn "testPy38pyarrow-6"
 
 toxTask "testPy38pyarrow-7", "py38-pyarrow-7", "${posargs}"
 test.dependsOn "testPy38pyarrow-7"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-7"
+postCommitPyDep.dependsOn "testPy38pyarrow-7"
 
 toxTask "testPy38pyarrow-8", "py38-pyarrow-8", "${posargs}"
 test.dependsOn "testPy38pyarrow-8"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-8"
+postCommitPyDep.dependsOn "testPy38pyarrow-8"

Review Comment:
   I thought these tests are also running on usual precommit, with dependency version unrestricted (see comment above). Let me open a draft PR to double check



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on PR #30704:
URL: https://github.com/apache/beam/pull/30704#issuecomment-2015695561

   sentence-transformers has several very large dependencies:
   - torch is 700 MB+
   - nvidia-cudnn-cu12 are both 700MB+
   - other nvidia dependencies are also several hundreds MBs


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on PR #30704:
URL: https://github.com/apache/beam/pull/30704#issuecomment-2015686245

   Still takes 2h 0min. The very slow part is to install certain dependency:
   
   ```
   Fri, 22 Mar 2024 17:01:15 GMT
   py38-embeddings: install_deps> target/.tox-py38-embeddings/py38-embeddings/bin/python /runner/_work/beam/beam/sdks/python/test-suites/tox/py38/build/srcs/sdks/python/target/.tox-py38-embeddings/py38-embeddings/bin/pip install --retries 10 --pre sentence-transformers==2.2.2
   Fri, 22 Mar 2024 17:31:16 GMT
   .pkg_external: pip==24.0,setuptools==69.1.0,wheel==0.42.0
   
   Fri, 22 Mar 2024 17:32:47 GMT
   py38-pytorch-200: install_deps> target/.tox-py38-pytorch-200/py38-pytorch-200/bin/python /runner/_work/beam/beam/sdks/python/test-suites/tox/py38/build/srcs/sdks/python/target/.tox-py38-pytorch-200/py38-pytorch-200/bin/pip install --retries 10 --pre mpmath==1.3.0 'torch<2.1.0,>=2.0.0'
   Fri, 22 Mar 2024 17:55:20 GMT
   .pkg_external: freeze> python -m pip freeze --all
   
   Fri, 22 Mar 2024 18:12:39 GMT
   py38-transformers-430: install_deps> target/.tox-py38-transformers-430/py38-transformers-430/bin/python /runner/_work/beam/beam/sdks/python/test-suites/tox/py38/build/srcs/sdks/python/target/.tox-py38-transformers-430/py38-transformers-430/bin/pip install --retries 10 --pre tensorflow==2.12.0 'torch<1.14.0,>=1.9.0' 'transformers<4.31.0,>=4.30.0'
   Fri, 22 Mar 2024 18:28:15 GMT
   .pkg_external: freeze> python -m pip freeze --all
   ```
   took 30 min to install sentence-transformers; 20 min to install torch and mpmath; another 10 min to install tensorflow and torch


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #30704:
URL: https://github.com/apache/beam/pull/30704#issuecomment-2013736311

   Assigning reviewers. If you would like to opt out of this review, comment `assign to next reviewer`:
   
   R: @liferoad for label python.
   R: @damccorm for label build.
   
   Available commands:
   - `stop reviewer notifications` - opt out of the automated review tooling
   - `remind me after tests pass` - tag the comment author after tests pass
   - `waiting on author` - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)
   
   The PR bot will only process comments in the main thread (not review comments).


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn merged PR #30704:
URL: https://github.com/apache/beam/pull/30704


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1535847194


##########
sdks/python/test-suites/tox/py38/build.gradle:
##########
@@ -44,120 +44,123 @@ lint.dependsOn mypyPy38
 apply from: "../common.gradle"
 
 
-
-// PyCoverage Precommit runs test suites that evaluate test coverage and compatibility of
-// particular dependencies. It is exercised on a single Python version.
+toxTask "testPy38CloudCoverage", "py38-cloudcoverage", "${posargs}"
+test.dependsOn "testPy38CloudCoverage"
 project.tasks.register("preCommitPyCoverage") {
       dependsOn = ["testPy38CloudCoverage"]
 }
 
+// Dep Postcommit runs test suites that evaluate compatibility of particular
+// dependencies. It is exercised on a single Python version.
+project.tasks.register("postCommitPyDep") {}
+
 // Create a test task for each supported major version of pyarrow
 toxTask "testPy38pyarrow-3", "py38-pyarrow-3", "${posargs}"
 test.dependsOn "testPy38pyarrow-3"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-3"
+postCommitPyDep.dependsOn "testPy38pyarrow-3"
 
 toxTask "testPy38pyarrow-4", "py38-pyarrow-4", "${posargs}"
 test.dependsOn "testPy38pyarrow-4"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-4"
+postCommitPyDep.dependsOn "testPy38pyarrow-4"
 
 toxTask "testPy38pyarrow-5", "py38-pyarrow-5", "${posargs}"
 test.dependsOn "testPy38pyarrow-5"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-5"
+postCommitPyDep.dependsOn "testPy38pyarrow-5"
 
 toxTask "testPy38pyarrow-6", "py38-pyarrow-6", "${posargs}"
 test.dependsOn "testPy38pyarrow-6"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-6"
+postCommitPyDep.dependsOn "testPy38pyarrow-6"
 
 toxTask "testPy38pyarrow-7", "py38-pyarrow-7", "${posargs}"
 test.dependsOn "testPy38pyarrow-7"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-7"
+postCommitPyDep.dependsOn "testPy38pyarrow-7"
 
 toxTask "testPy38pyarrow-8", "py38-pyarrow-8", "${posargs}"
 test.dependsOn "testPy38pyarrow-8"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-8"
+postCommitPyDep.dependsOn "testPy38pyarrow-8"

Review Comment:
   Only pyarrow and pandas tests were executed in other PreCommit (PreCommit dataframe), so these two tests can be fully moved to postcommit; other tests leave at least one version in PreCommit coverage



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "tvalentyn (via GitHub)" <gi...@apache.org>.
tvalentyn commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1591432872


##########
.github/workflows/beam_PostCommit_Python_Dependency.yml:
##########
@@ -0,0 +1,99 @@
+# 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: PostCommit Python Dependency
+
+on:
+  schedule:
+  - cron: '0 5/6 * * *'
+  pull_request_target:
+    paths: ['release/trigger_all_tests.json', '.github/trigger_files/beam_PostCommit_Python_Dependency.json']
+  workflow_dispatch:
+
+#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: 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
+
+# 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 }}-${{ github.event.schedule || github.event.comment.id || github.event.sender.login }}'
+  cancel-in-progress: true
+
+env:
+  GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
+  GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
+  GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
+  HF_INFERENCE_TOKEN: ${{ secrets.HF_INFERENCE_TOKEN }}
+
+
+jobs:
+  beam_PostCommit_Python_Dependency:
+    name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
+    runs-on: [self-hosted, ubuntu-20.04, main]
+    strategy:
+      fail-fast: false
+      matrix:
+        job_name: [beam_PostCommit_Python_Dependency]
+        job_phrase: [Run Python PostCommit Dependency]

Review Comment:
   Do we still need to explicitly mention new suites anywhere under release/src/main/scripts or this is no longer necessary?



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "tvalentyn (via GitHub)" <gi...@apache.org>.
tvalentyn commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1591432872


##########
.github/workflows/beam_PostCommit_Python_Dependency.yml:
##########
@@ -0,0 +1,99 @@
+# 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: PostCommit Python Dependency
+
+on:
+  schedule:
+  - cron: '0 5/6 * * *'
+  pull_request_target:
+    paths: ['release/trigger_all_tests.json', '.github/trigger_files/beam_PostCommit_Python_Dependency.json']
+  workflow_dispatch:
+
+#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: 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
+
+# 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 }}-${{ github.event.schedule || github.event.comment.id || github.event.sender.login }}'
+  cancel-in-progress: true
+
+env:
+  GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
+  GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
+  GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
+  HF_INFERENCE_TOKEN: ${{ secrets.HF_INFERENCE_TOKEN }}
+
+
+jobs:
+  beam_PostCommit_Python_Dependency:
+    name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
+    runs-on: [self-hosted, ubuntu-20.04, main]
+    strategy:
+      fail-fast: false
+      matrix:
+        job_name: [beam_PostCommit_Python_Dependency]
+        job_phrase: [Run Python PostCommit Dependency]

Review Comment:
   Thanks for making this change. Do we still need to explicitly mention new suites anywhere under release/src/main/scripts or this is no longer necessary?



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on PR #30704:
URL: https://github.com/apache/beam/pull/30704#issuecomment-2013793788

   checked that these marked tests also run on Python PreCommit Coverage and the specific Precommits (e.g. Dataframe)
   
   https://github.com/apache/beam/blob/e8e272b89e9dc30a83aecc61322f75dbe1613fe4/sdks/python/apache_beam/dataframe/io_test.py#L131
   


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1591437360


##########
.github/workflows/beam_PostCommit_Python_Dependency.yml:
##########
@@ -0,0 +1,99 @@
+# 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: PostCommit Python Dependency
+
+on:
+  schedule:
+  - cron: '0 5/6 * * *'
+  pull_request_target:
+    paths: ['release/trigger_all_tests.json', '.github/trigger_files/beam_PostCommit_Python_Dependency.json']
+  workflow_dispatch:
+
+#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: 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
+
+# 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 }}-${{ github.event.schedule || github.event.comment.id || github.event.sender.login }}'
+  cancel-in-progress: true
+
+env:
+  GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
+  GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
+  GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}
+  HF_INFERENCE_TOKEN: ${{ secrets.HF_INFERENCE_TOKEN }}
+
+
+jobs:
+  beam_PostCommit_Python_Dependency:
+    name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
+    runs-on: [self-hosted, ubuntu-20.04, main]
+    strategy:
+      fail-fast: false
+      matrix:
+        job_name: [beam_PostCommit_Python_Dependency]
+        job_phrase: [Run Python PostCommit Dependency]

Review Comment:
   It's not necessary. job_phrase for postcommit currently is not effective (#28909). I just copy-paste from existing yml which had this structure.



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "damccorm (via GitHub)" <gi...@apache.org>.
damccorm commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1535600776


##########
sdks/python/test-suites/tox/py38/build.gradle:
##########
@@ -44,120 +44,123 @@ lint.dependsOn mypyPy38
 apply from: "../common.gradle"
 
 
-
-// PyCoverage Precommit runs test suites that evaluate test coverage and compatibility of
-// particular dependencies. It is exercised on a single Python version.
+toxTask "testPy38CloudCoverage", "py38-cloudcoverage", "${posargs}"
+test.dependsOn "testPy38CloudCoverage"
 project.tasks.register("preCommitPyCoverage") {
       dependsOn = ["testPy38CloudCoverage"]
 }
 
+// Dep Postcommit runs test suites that evaluate compatibility of particular
+// dependencies. It is exercised on a single Python version.
+project.tasks.register("postCommitPyDep") {}
+
 // Create a test task for each supported major version of pyarrow
 toxTask "testPy38pyarrow-3", "py38-pyarrow-3", "${posargs}"
 test.dependsOn "testPy38pyarrow-3"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-3"
+postCommitPyDep.dependsOn "testPy38pyarrow-3"
 
 toxTask "testPy38pyarrow-4", "py38-pyarrow-4", "${posargs}"
 test.dependsOn "testPy38pyarrow-4"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-4"
+postCommitPyDep.dependsOn "testPy38pyarrow-4"
 
 toxTask "testPy38pyarrow-5", "py38-pyarrow-5", "${posargs}"
 test.dependsOn "testPy38pyarrow-5"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-5"
+postCommitPyDep.dependsOn "testPy38pyarrow-5"
 
 toxTask "testPy38pyarrow-6", "py38-pyarrow-6", "${posargs}"
 test.dependsOn "testPy38pyarrow-6"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-6"
+postCommitPyDep.dependsOn "testPy38pyarrow-6"
 
 toxTask "testPy38pyarrow-7", "py38-pyarrow-7", "${posargs}"
 test.dependsOn "testPy38pyarrow-7"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-7"
+postCommitPyDep.dependsOn "testPy38pyarrow-7"
 
 toxTask "testPy38pyarrow-8", "py38-pyarrow-8", "${posargs}"
 test.dependsOn "testPy38pyarrow-8"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-8"
+postCommitPyDep.dependsOn "testPy38pyarrow-8"

Review Comment:
   Each of these categories are not strictly dependency tests, they also test some other functionality which is not necessarily tested elsewhere. I agree we don't need the full matrix of all versions in our precommits, but I think it would be good to keep at least 1 version per type that also runs in the precommit. So for example, we could change this line to 2 lines:
   
   ```
   preCommitPyCoverage.dependsOn "testPy38pyarrow-8"
   postCommitPyDep.dependsOn "testPy38pyarrow-8"
   ```
   
   but leave the rest of the pyarrow versions for the dependency task
   
   



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Move dependency tests from PreCommit Coverage to PostCommit [beam]

Posted by "Abacn (via GitHub)" <gi...@apache.org>.
Abacn commented on code in PR #30704:
URL: https://github.com/apache/beam/pull/30704#discussion_r1535847194


##########
sdks/python/test-suites/tox/py38/build.gradle:
##########
@@ -44,120 +44,123 @@ lint.dependsOn mypyPy38
 apply from: "../common.gradle"
 
 
-
-// PyCoverage Precommit runs test suites that evaluate test coverage and compatibility of
-// particular dependencies. It is exercised on a single Python version.
+toxTask "testPy38CloudCoverage", "py38-cloudcoverage", "${posargs}"
+test.dependsOn "testPy38CloudCoverage"
 project.tasks.register("preCommitPyCoverage") {
       dependsOn = ["testPy38CloudCoverage"]
 }
 
+// Dep Postcommit runs test suites that evaluate compatibility of particular
+// dependencies. It is exercised on a single Python version.
+project.tasks.register("postCommitPyDep") {}
+
 // Create a test task for each supported major version of pyarrow
 toxTask "testPy38pyarrow-3", "py38-pyarrow-3", "${posargs}"
 test.dependsOn "testPy38pyarrow-3"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-3"
+postCommitPyDep.dependsOn "testPy38pyarrow-3"
 
 toxTask "testPy38pyarrow-4", "py38-pyarrow-4", "${posargs}"
 test.dependsOn "testPy38pyarrow-4"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-4"
+postCommitPyDep.dependsOn "testPy38pyarrow-4"
 
 toxTask "testPy38pyarrow-5", "py38-pyarrow-5", "${posargs}"
 test.dependsOn "testPy38pyarrow-5"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-5"
+postCommitPyDep.dependsOn "testPy38pyarrow-5"
 
 toxTask "testPy38pyarrow-6", "py38-pyarrow-6", "${posargs}"
 test.dependsOn "testPy38pyarrow-6"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-6"
+postCommitPyDep.dependsOn "testPy38pyarrow-6"
 
 toxTask "testPy38pyarrow-7", "py38-pyarrow-7", "${posargs}"
 test.dependsOn "testPy38pyarrow-7"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-7"
+postCommitPyDep.dependsOn "testPy38pyarrow-7"
 
 toxTask "testPy38pyarrow-8", "py38-pyarrow-8", "${posargs}"
 test.dependsOn "testPy38pyarrow-8"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-8"
+postCommitPyDep.dependsOn "testPy38pyarrow-8"

Review Comment:
   From #30226 Only pyarrow and pandas tests were executed in other PreCommit (PreCommit dataframe), so these two tests can be fully moved to postcommit; other tests leave at least one version in PreCommit coverage



##########
sdks/python/test-suites/tox/py38/build.gradle:
##########
@@ -44,120 +44,123 @@ lint.dependsOn mypyPy38
 apply from: "../common.gradle"
 
 
-
-// PyCoverage Precommit runs test suites that evaluate test coverage and compatibility of
-// particular dependencies. It is exercised on a single Python version.
+toxTask "testPy38CloudCoverage", "py38-cloudcoverage", "${posargs}"
+test.dependsOn "testPy38CloudCoverage"
 project.tasks.register("preCommitPyCoverage") {
       dependsOn = ["testPy38CloudCoverage"]
 }
 
+// Dep Postcommit runs test suites that evaluate compatibility of particular
+// dependencies. It is exercised on a single Python version.
+project.tasks.register("postCommitPyDep") {}
+
 // Create a test task for each supported major version of pyarrow
 toxTask "testPy38pyarrow-3", "py38-pyarrow-3", "${posargs}"
 test.dependsOn "testPy38pyarrow-3"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-3"
+postCommitPyDep.dependsOn "testPy38pyarrow-3"
 
 toxTask "testPy38pyarrow-4", "py38-pyarrow-4", "${posargs}"
 test.dependsOn "testPy38pyarrow-4"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-4"
+postCommitPyDep.dependsOn "testPy38pyarrow-4"
 
 toxTask "testPy38pyarrow-5", "py38-pyarrow-5", "${posargs}"
 test.dependsOn "testPy38pyarrow-5"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-5"
+postCommitPyDep.dependsOn "testPy38pyarrow-5"
 
 toxTask "testPy38pyarrow-6", "py38-pyarrow-6", "${posargs}"
 test.dependsOn "testPy38pyarrow-6"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-6"
+postCommitPyDep.dependsOn "testPy38pyarrow-6"
 
 toxTask "testPy38pyarrow-7", "py38-pyarrow-7", "${posargs}"
 test.dependsOn "testPy38pyarrow-7"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-7"
+postCommitPyDep.dependsOn "testPy38pyarrow-7"
 
 toxTask "testPy38pyarrow-8", "py38-pyarrow-8", "${posargs}"
 test.dependsOn "testPy38pyarrow-8"
-preCommitPyCoverage.dependsOn "testPy38pyarrow-8"
+postCommitPyDep.dependsOn "testPy38pyarrow-8"

Review Comment:
   From test result of #30226 Only pyarrow and pandas tests were executed in other PreCommit (PreCommit dataframe), so these two tests can be fully moved to postcommit; other tests leave at least one version in PreCommit coverage



-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org