| /* |
| * 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. |
| */ |
| |
| /** |
| * Unit tests for Python 3.10 |
| */ |
| |
| plugins { id 'org.apache.beam.module' } |
| applyPythonNature() |
| |
| // Required to setup a Python 3 virtualenv and task names. |
| pythonVersion = '3.10' |
| |
| def posargs = project.findProperty("posargs") ?: "" |
| |
| apply from: "../common.gradle" |
| |
| toxTask "testPy310CloudCoverage", "py310-cloudcoverage", "${posargs}" |
| test.dependsOn "testPy310CloudCoverage" |
| project.tasks.register("preCommitPyCoverage") { |
| dependsOn = ["testPy310CloudCoverage"] |
| } |
| |
| // Dep Postcommit runs test suites that evaluate compatibility of particular |
| // dependencies. Each suite is exercised on at most one python version. |
| // |
| // Should still leave at least one version in PreCommit unless the marked tests |
| // are also exercised by existing PreCommit |
| // e.g. pyarrow and pandas also run on PreCommit Dataframe and Coverage |
| project.tasks.register("postCommitPyDep") {} |
| |
| // Create a test task for supported major versions of pyarrow |
| // We should have a test for the lowest supported version and |
| // For versions that we would like to prioritize for testing, |
| // for example versions released in a timeframe of last 1-2 years. |
| |
| toxTask "testPy310pyarrow-9", "py310-pyarrow-9", "${posargs}" |
| test.dependsOn "testPy310pyarrow-9" |
| postCommitPyDep.dependsOn "testPy310pyarrow-9" |
| |
| toxTask "testPy310pyarrow-10", "py310-pyarrow-10", "${posargs}" |
| test.dependsOn "testPy310pyarrow-10" |
| postCommitPyDep.dependsOn "testPy310pyarrow-10" |
| |
| toxTask "testPy310pyarrow-11", "py310-pyarrow-11", "${posargs}" |
| test.dependsOn "testPy310pyarrow-11" |
| postCommitPyDep.dependsOn "testPy310pyarrow-11" |
| |
| toxTask "testPy310pyarrow-12", "py310-pyarrow-12", "${posargs}" |
| test.dependsOn "testPy310pyarrow-12" |
| postCommitPyDep.dependsOn "testPy310pyarrow-12" |
| |
| toxTask "testPy310pyarrow-13", "py310-pyarrow-13", "${posargs}" |
| test.dependsOn "testPy310pyarrow-13" |
| postCommitPyDep.dependsOn "testPy310pyarrow-13" |
| |
| toxTask "testPy310pyarrow-14", "py310-pyarrow-14", "${posargs}" |
| test.dependsOn "testPy310pyarrow-14" |
| postCommitPyDep.dependsOn "testPy310pyarrow-14" |
| |
| toxTask "testPy310pyarrow-15", "py310-pyarrow-15", "${posargs}" |
| test.dependsOn "testPy310pyarrow-15" |
| postCommitPyDep.dependsOn "testPy310pyarrow-15" |
| |
| toxTask "testPy310pyarrow-16", "py310-pyarrow-16", "${posargs}" |
| test.dependsOn "testPy310pyarrow-16" |
| postCommitPyDep.dependsOn "testPy310pyarrow-16" |
| |
| toxTask "testPy310pyarrow-17", "py310-pyarrow-17", "${posargs}" |
| test.dependsOn "testPy310pyarrow-17" |
| postCommitPyDep.dependsOn "testPy310pyarrow-17" |
| |
| toxTask "testPy310pyarrow-18", "py310-pyarrow-18", "${posargs}" |
| test.dependsOn "testPy310pyarrow-18" |
| postCommitPyDep.dependsOn "testPy310pyarrow-18" |
| |
| // Create a test task for each supported minor version of pandas |
| toxTask "testPy310pandas-14", "py310-pandas-14", "${posargs}" |
| test.dependsOn "testPy310pandas-14" |
| postCommitPyDep.dependsOn "testPy310pandas-14" |
| |
| toxTask "testPy310pandas-15", "py310-pandas-15", "${posargs}" |
| test.dependsOn "testPy310pandas-15" |
| postCommitPyDep.dependsOn "testPy310pandas-15" |
| |
| toxTask "testPy310pandas-20", "py310-pandas-20", "${posargs}" |
| test.dependsOn "testPy310pandas-20" |
| postCommitPyDep.dependsOn "testPy310pandas-20" |
| |
| // TODO(https://github.com/apache/beam/issues/31192): Add below suites |
| // after dependency compat tests suite switches to Python 3.9 or we add |
| // Python 2.2 support. |
| |
| // toxTask "testPy310pandas-21", "py310-pandas-21", "${posargs}" |
| // test.dependsOn "testPy310pandas-21" |
| // postCommitPyDep.dependsOn "testPy310pandas-21" |
| |
| // toxTask "testPy310pandas-22", "py310-pandas-22", "${posargs}" |
| // test.dependsOn "testPy310pandas-22" |
| // postCommitPyDep.dependsOn "testPy310pandas-22" |
| |
| // TODO(https://github.com/apache/beam/issues/30908): Revise what are we testing |
| |
| // Create a test task for each minor version of pytorch |
| |
| toxTask "testPy310pytorch-111", "py310-pytorch-111", "${posargs}" |
| test.dependsOn "testPy310pytorch-111" |
| postCommitPyDep.dependsOn "testPy310pytorch-111" |
| |
| toxTask "testPy310pytorch-112", "py310-pytorch-112", "${posargs}" |
| test.dependsOn "testPy310pytorch-112" |
| postCommitPyDep.dependsOn "testPy310pytorch-112" |
| |
| toxTask "testPy310pytorch-113", "py310-pytorch-113", "${posargs}" |
| test.dependsOn "testPy310pytorch-113" |
| postCommitPyDep.dependsOn "testPy310pytorch-113" |
| |
| // run on precommit |
| toxTask "testPy310pytorch-200", "py310-pytorch-200", "${posargs}" |
| test.dependsOn "testPy310pytorch-200" |
| postCommitPyDep.dependsOn "testPy310pytorch-200" |
| |
| toxTask "testPy310tft-113", "py310-tft-113", "${posargs}" |
| test.dependsOn "testPy310tft-113" |
| postCommitPyDep.dependsOn "testPy310tft-113" |
| |
| // TODO(https://github.com/apache/beam/issues/25796) - uncomment onnx tox task once onnx supports protobuf 4.x.x |
| // Create a test task for each minor version of onnx |
| // toxTask "testPy310onnx-113", "py310-onnx-113", "${posargs}" |
| // test.dependsOn "testPy310onnx-113" |
| // postCommitPyDep.dependsOn "testPy310onnx-113" |
| |
| // Create a test task for each minor version of tensorflow |
| toxTask "testPy310tensorflow-212", "py310-tensorflow-212", "${posargs}" |
| test.dependsOn "testPy310tensorflow-212" |
| postCommitPyDep.dependsOn "testPy310tensorflow-212" |
| |
| // Create a test task for each minor version of transformers |
| toxTask "testPy310transformers-428", "py310-transformers-428", "${posargs}" |
| test.dependsOn "testPy310transformers-428" |
| postCommitPyDep.dependsOn "testPy310transformers-428" |
| |
| toxTask "testPy310transformers-447", "py310-transformers-447", "${posargs}" |
| test.dependsOn "testPy310transformers-447" |
| postCommitPyDep.dependsOn "testPy310transformers-447" |
| |
| toxTask "testPy310transformers-448", "py310-transformers-448", "${posargs}" |
| test.dependsOn "testPy310transformers-448" |
| postCommitPyDep.dependsOn "testPy310transformers-448" |
| |
| toxTask "testPy310transformers-latest", "py310-transformers-latest", "${posargs}" |
| test.dependsOn "testPy310transformers-latest" |
| postCommitPyDep.dependsOn "testPy310transformers-latest" |
| |
| toxTask "testPy310embeddingsMLTransform", "py310-embeddings", "${posargs}" |
| test.dependsOn "testPy310embeddingsMLTransform" |
| postCommitPyDep.dependsOn "testPy310embeddingsMLTransform" |
| |
| // Part of MLTransform embeddings test suite but requires tensorflow hub, which we need to test on |
| // mutliple versions so keeping this suite separate. |
| toxTask "testPy310TensorflowHubEmbeddings-014", "py310-TFHubEmbeddings-014", "${posargs}" |
| test.dependsOn "testPy310TensorflowHubEmbeddings-014" |
| postCommitPyDep.dependsOn "testPy310TensorflowHubEmbeddings-014" |
| |
| toxTask "testPy310TensorflowHubEmbeddings-015", "py310-TFHubEmbeddings-015", "${posargs}" |
| test.dependsOn "testPy310TensorflowHubEmbeddings-015" |
| postCommitPyDep.dependsOn "testPy310TensorflowHubEmbeddings-015" |
| |
| toxTask "whitespacelint", "whitespacelint", "${posargs}" |
| |
| task archiveFilesToLint(type: Zip) { |
| archiveFileName = "files-to-whitespacelint.zip" |
| destinationDirectory = file("$buildDir/dist") |
| |
| from ("$rootProject.projectDir") { |
| include "**/*.md" |
| include "**/build.gradle" |
| include '**/build.gradle.kts' |
| exclude '**/build/**' // intermediate build directory |
| exclude 'website/www/site/themes/docsy/**' // fork to google/docsy |
| exclude "**/node_modules/*" |
| exclude "**/.gogradle/*" |
| } |
| } |
| |
| task unpackFilesToLint(type: Copy) { |
| from zipTree("$buildDir/dist/files-to-whitespacelint.zip") |
| into "$buildDir/files-to-whitespacelint" |
| } |
| |
| whitespacelint.dependsOn archiveFilesToLint, unpackFilesToLint |
| unpackFilesToLint.dependsOn archiveFilesToLint |
| archiveFilesToLint.dependsOn cleanPython |
| |
| toxTask "jest", "jest", "${posargs}" |
| |
| toxTask "eslint", "eslint", "${posargs}" |
| |
| task copyTsSource(type: Copy) { |
| from ("$rootProject.projectDir") { |
| include "sdks/python/apache_beam/runners/interactive/extensions/**/*" |
| exclude "sdks/python/apache_beam/runners/interactive/extensions/**/lib/*" |
| exclude "sdks/python/apache_beam/runners/interactive/extensions/**/node_modules/*" |
| } |
| into "$buildDir/ts" |
| } |
| |
| jest.dependsOn copyTsSource |
| eslint.dependsOn copyTsSource |
| copyTsSource.dependsOn cleanPython |