nchammas commented on code in PR #58555:
URL: https://github.com/apache/spark/pull/58555#discussion_r3987129854


##########
dev/sparktestsupport/modules.py:
##########
@@ -36,32 +36,140 @@
 # - `.gitignore`-style patterns would be ideal but don't have support in the
 #   standard library.
 ignored_file_patterns = (
-    ".asf.yaml",
-    ".gitignore",
+    # Contributor docs.
     "AGENTS.md",
+    "CLAUDE.md",
     "CONTRIBUTING.md",
+    "PULL_REQUEST_TEMPLATE",
     "README.md",
+    "SECURITY.md",
+    # License and NOTICE files, including bundled third-party licenses.
     "/LICENSE-binary",
+    "/LICENSE",
+    "/licenses-binary/",
+    "/licenses/",
     "/NOTICE-binary",
-    "/scalastyle-config.xml",
-    "/SECURITY.md",
+    "/NOTICE",
+    # Git and ASF metadata.
+    ".asf.yaml",
+    ".gitattributes",
+    ".gitignore",
+    # Build and test workflow wrappers or schedulers.
+    "/.github/workflows/benchmark.yml",
+    "/.github/workflows/branch*_scheduler.yml",
+    "/.github/workflows/build_codegen_jdk.yml",
+    "/.github/workflows/build_coverage.yml",
+    "/.github/workflows/build_java*.yml",
+    "/.github/workflows/build_main.yml",

Review Comment:
   The key workflow triggered by PR CI is `build_and_test.yml`, and that's 
already part of the `build` test module.
   
   These other workflows are wrappers or schedulers for `build_and_test.yml`, 
or they have their own logic that is not exercised by PR CI at all.



##########
dev/sparktestsupport/modules.py:
##########
@@ -36,32 +36,140 @@
 # - `.gitignore`-style patterns would be ideal but don't have support in the
 #   standard library.
 ignored_file_patterns = (
-    ".asf.yaml",
-    ".gitignore",
+    # Contributor docs.
     "AGENTS.md",
+    "CLAUDE.md",
     "CONTRIBUTING.md",
+    "PULL_REQUEST_TEMPLATE",
     "README.md",
+    "SECURITY.md",
+    # License and NOTICE files, including bundled third-party licenses.
     "/LICENSE-binary",
+    "/LICENSE",
+    "/licenses-binary/",
+    "/licenses/",
     "/NOTICE-binary",
-    "/scalastyle-config.xml",
-    "/SECURITY.md",
+    "/NOTICE",
+    # Git and ASF metadata.
+    ".asf.yaml",
+    ".gitattributes",
+    ".gitignore",
+    # Build and test workflow wrappers or schedulers.
+    "/.github/workflows/benchmark.yml",
+    "/.github/workflows/branch*_scheduler.yml",
+    "/.github/workflows/build_codegen_jdk.yml",
+    "/.github/workflows/build_coverage.yml",
+    "/.github/workflows/build_java*.yml",
+    "/.github/workflows/build_main.yml",
+    "/.github/workflows/build_maven*.yml",
+    "/.github/workflows/build_non_ansi.yml",
+    "/.github/workflows/build_python_3*.yml",
+    "/.github/workflows/build_python_connect*.yml",
+    "/.github/workflows/build_python_minimum.yml",
+    "/.github/workflows/build_python_pypy3.10.yml",
+    "/.github/workflows/build_rockdb_as_ui_backend.yml",
+    "/.github/workflows/build_scala213.yml",
+    "/.github/workflows/build_sparkr_window.yml",
+    "/.github/workflows/build_uds.yml",
+    "/.github/workflows/maven_test.yml",
+    "/.github/workflows/python_hosted_runner_test.yml",
+    # GitHub Pages.
+    ".nojekyll",
+    "/.github/workflows/pages.yml",
+    # Release and publishing.
+    "/.github/workflows/publish_snapshot.yml",
+    "/.github/workflows/release.yml",
+    # GitHub housekeeping and repo automation.
+    "/.github/workflows/build_infra_images_cache.yml",
+    "/.github/workflows/images/",
+    "/.github/workflows/notify_test_workflow.yml",
+    "/.github/workflows/stale.yml",
+    "/.github/workflows/test_report.yml",
+    "/.github/workflows/update_build_status.yml",
+    # Linters, formatters, and their configs. These are typically triggered by
+    # the `precondition` job regardless of modifications to these files.
+    #   precondition job: 
https://github.com/apache/spark/blob/065397779ce409996abed999e1d6b46ee98a6c34/.github/workflows/build_and_test.yml#L106-L199
+    #   lint job: 
https://github.com/apache/spark/blob/065397779ce409996abed999e1d6b46ee98a6c34/.github/workflows/build_and_test.yml#L932-L935
+    #   buf job: 
https://github.com/apache/spark/blob/065397779ce409996abed999e1d6b46ee98a6c34/.github/workflows/build_and_test.yml#L895-L898
+    ".pre-commit-config.yaml",
+    "/dev/.rat-excludes",
+    "/dev/.scalafmt.conf",
+    "/dev/check_pyspark_custom_errors.py",
+    "/dev/check-license",
+    "/dev/check-protos.py",
     "/dev/checkstyle-suppressions.xml",
     "/dev/checkstyle.xml",
+    "/dev/connect-jvm-client-mima-check",
+    "/dev/eslint.js",
+    "/dev/java-file-header",
+    "/dev/lint-java",
+    "/dev/lint-js",
+    "/dev/lint-python",
+    "/dev/lint-r*",
+    "/dev/lint-scala",
+    "/dev/mima",
+    "/dev/package-lock.json",
+    "/dev/package.json",
+    "/dev/reformat-python",
+    "/dev/sbt-checkstyle",
+    "/dev/scalafmt",
+    "/dev/scalastyle",
+    "/dev/spark-test-image/lint/",
+    "/dev/structured_logging_style.py",
+    "/scalastyle-config.xml",
+    # Maintainer tools.
+    "/dev/*gen-protos.sh",
+    "/dev/change-scala-version.sh",
     "/dev/create_jira_and_branch.py",
     "/dev/create_spark_jira.py",
     "/dev/create-release/",
-    "/dev/lint-python",
-    "/dev/lint-scala",
+    "/dev/free_disk_space_container",
+    "/dev/free_disk_space",
+    "/dev/generate_srs_registry.py",
     "/dev/make-distribution.sh",
     "/dev/merge_spark_pr.py",
+    "/dev/next_version_candidates.py",
     "/dev/pr_merge_status.py",
-    "/dev/reformat-python",
-    "/dev/requirements.txt",
+    "/dev/protobuf-breaking-changes-check.sh",
+    "/dev/py-cleanup",
+    "/dev/requirements.txt",  # legacy, replaced in CI by pyproject.toml
+    "/dev/spark_jira_utils.py",
     "/dev/spark_merge_footer.py",
-    "/dev/spark-test-image/lint/Dockerfile",
-    "/dev/structured_logging_style.py",
-    "/ui-test/package-lock.json",
-    "/ui-test/package.json",
+    "/dev/spark-test-image/connect-gen-protos/",
+    "/dev/spark-test-image/python-*/Dockerfile",

Review Comment:
   @gaogaotiantian - You were asking about these Dockerfiles, right? I took 
another look. These are [built by PR CI 
here](https://github.com/apache/spark/blob/24c15b0383f21b2e80b27435617f16933236491c/.github/workflows/build_and_test.yml#L523-L529).
   
   I'll remove this pattern from the ignore list and add it to the 
`pyspark-core` module in a separate PR.



##########
dev/sparktestsupport/modules.py:
##########
@@ -36,32 +36,140 @@
 # - `.gitignore`-style patterns would be ideal but don't have support in the
 #   standard library.
 ignored_file_patterns = (
-    ".asf.yaml",
-    ".gitignore",
+    # Contributor docs.
     "AGENTS.md",
+    "CLAUDE.md",
     "CONTRIBUTING.md",
+    "PULL_REQUEST_TEMPLATE",
     "README.md",
+    "SECURITY.md",
+    # License and NOTICE files, including bundled third-party licenses.
     "/LICENSE-binary",
+    "/LICENSE",
+    "/licenses-binary/",
+    "/licenses/",
     "/NOTICE-binary",
-    "/scalastyle-config.xml",
-    "/SECURITY.md",
+    "/NOTICE",
+    # Git and ASF metadata.
+    ".asf.yaml",
+    ".gitattributes",
+    ".gitignore",
+    # Build and test workflow wrappers or schedulers.
+    "/.github/workflows/benchmark.yml",
+    "/.github/workflows/branch*_scheduler.yml",
+    "/.github/workflows/build_codegen_jdk.yml",
+    "/.github/workflows/build_coverage.yml",
+    "/.github/workflows/build_java*.yml",
+    "/.github/workflows/build_main.yml",
+    "/.github/workflows/build_maven*.yml",
+    "/.github/workflows/build_non_ansi.yml",
+    "/.github/workflows/build_python_3*.yml",
+    "/.github/workflows/build_python_connect*.yml",
+    "/.github/workflows/build_python_minimum.yml",
+    "/.github/workflows/build_python_pypy3.10.yml",
+    "/.github/workflows/build_rockdb_as_ui_backend.yml",
+    "/.github/workflows/build_scala213.yml",
+    "/.github/workflows/build_sparkr_window.yml",
+    "/.github/workflows/build_uds.yml",
+    "/.github/workflows/maven_test.yml",
+    "/.github/workflows/python_hosted_runner_test.yml",
+    # GitHub Pages.
+    ".nojekyll",
+    "/.github/workflows/pages.yml",
+    # Release and publishing.
+    "/.github/workflows/publish_snapshot.yml",
+    "/.github/workflows/release.yml",
+    # GitHub housekeeping and repo automation.
+    "/.github/workflows/build_infra_images_cache.yml",
+    "/.github/workflows/images/",
+    "/.github/workflows/notify_test_workflow.yml",
+    "/.github/workflows/stale.yml",
+    "/.github/workflows/test_report.yml",
+    "/.github/workflows/update_build_status.yml",
+    # Linters, formatters, and their configs. These are typically triggered by
+    # the `precondition` job regardless of modifications to these files.
+    #   precondition job: 
https://github.com/apache/spark/blob/065397779ce409996abed999e1d6b46ee98a6c34/.github/workflows/build_and_test.yml#L106-L199
+    #   lint job: 
https://github.com/apache/spark/blob/065397779ce409996abed999e1d6b46ee98a6c34/.github/workflows/build_and_test.yml#L932-L935
+    #   buf job: 
https://github.com/apache/spark/blob/065397779ce409996abed999e1d6b46ee98a6c34/.github/workflows/build_and_test.yml#L895-L898
+    ".pre-commit-config.yaml",
+    "/dev/.rat-excludes",
+    "/dev/.scalafmt.conf",
+    "/dev/check_pyspark_custom_errors.py",
+    "/dev/check-license",
+    "/dev/check-protos.py",
     "/dev/checkstyle-suppressions.xml",
     "/dev/checkstyle.xml",
+    "/dev/connect-jvm-client-mima-check",
+    "/dev/eslint.js",
+    "/dev/java-file-header",
+    "/dev/lint-java",
+    "/dev/lint-js",
+    "/dev/lint-python",
+    "/dev/lint-r*",
+    "/dev/lint-scala",
+    "/dev/mima",
+    "/dev/package-lock.json",
+    "/dev/package.json",
+    "/dev/reformat-python",
+    "/dev/sbt-checkstyle",
+    "/dev/scalafmt",
+    "/dev/scalastyle",
+    "/dev/spark-test-image/lint/",
+    "/dev/structured_logging_style.py",
+    "/scalastyle-config.xml",
+    # Maintainer tools.
+    "/dev/*gen-protos.sh",
+    "/dev/change-scala-version.sh",
     "/dev/create_jira_and_branch.py",
     "/dev/create_spark_jira.py",
     "/dev/create-release/",
-    "/dev/lint-python",
-    "/dev/lint-scala",
+    "/dev/free_disk_space_container",
+    "/dev/free_disk_space",
+    "/dev/generate_srs_registry.py",
     "/dev/make-distribution.sh",
     "/dev/merge_spark_pr.py",
+    "/dev/next_version_candidates.py",
     "/dev/pr_merge_status.py",
-    "/dev/reformat-python",
-    "/dev/requirements.txt",
+    "/dev/protobuf-breaking-changes-check.sh",
+    "/dev/py-cleanup",
+    "/dev/requirements.txt",  # legacy, replaced in CI by pyproject.toml
+    "/dev/spark_jira_utils.py",
     "/dev/spark_merge_footer.py",
-    "/dev/spark-test-image/lint/Dockerfile",
-    "/dev/structured_logging_style.py",
-    "/ui-test/package-lock.json",
-    "/ui-test/package.json",
+    "/dev/spark-test-image/connect-gen-protos/",
+    "/dev/spark-test-image/python-*/Dockerfile",
+    "/sql/create-docs.sh",
+    # Cluster admin scripts, CLI wrappers, and other user executables.
+    # These scripts are currently not covered by any existing test suite
+    # invoked from here.
+    "/bin/beeline*",
+    "/bin/docker-image-tool.sh",
+    "/bin/run-example*",
+    "/bin/spark-connect-shell",
+    "/bin/spark-pipelines",
+    "/bin/sparkR*",
+    "/sbin/decommission-worker.sh",
+    "/sbin/spark-daemons.sh",
+    "/sbin/start-all.sh",
+    "/sbin/start-connect-server.sh",

Review Comment:
   Hmm, I see that this script is called by the [`pyspark-connect-old-client` 
"module"](https://github.com/apache/spark/blob/24c15b0383f21b2e80b27435617f16933236491c/.github/workflows/build_and_test.yml#L750)
 in `build_and_test.yml`. I don't see any other sbin script called from PR CI. 
(Some are mocked, not called "for real".)
   
   I'll move this out of the ignore list and in a separate PR add it into the 
`pyspark-connect` module. In the near future, I would like to add at least one 
new test module that is dedicated to testing sbin scripts as part of PR CI.



-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to