[SPARK-49860][PYTHON][INFRA] Add `Python 3.13` Daily Python Github Action job
### What changes were proposed in this pull request?
This PR aims to add `Python 3.13` Daily Python GitHub Action job in advance.
### Why are the changes needed?
`Python 3.13` is scheduled on next Monday, 2024-10-07.
- https://peps.python.org/pep-0719/
This will help us track the readiness of `Python 3.13` and eventually achieve `Python 3.13 Support` in Apache Spark 4.0.0 before 2025 February.
### Does this PR introduce _any_ user-facing change?
No, this is an infra PR.
### How was this patch tested?
Manual review. This should be tested after merging.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #48328 from dongjoon-hyun/SPARK-49860.
Authored-by: Dongjoon Hyun <dongjoon@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
diff --git a/.github/workflows/build_python_3.13.yml b/.github/workflows/build_python_3.13.yml
new file mode 100644
index 0000000..6f67cf3
--- /dev/null
+++ b/.github/workflows/build_python_3.13.yml
@@ -0,0 +1,45 @@
+#
+# 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: "Build / Python-only (master, Python 3.13)"
+
+on:
+ schedule:
+ - cron: '0 20 * * *'
+
+jobs:
+ run-build:
+ permissions:
+ packages: write
+ name: Run
+ uses: ./.github/workflows/build_and_test.yml
+ if: github.repository == 'apache/spark'
+ with:
+ java: 17
+ branch: master
+ hadoop: hadoop3
+ envs: >-
+ {
+ "PYTHON_TO_TEST": "python3.13"
+ }
+ jobs: >-
+ {
+ "pyspark": "true",
+ "pyspark-pandas": "true"
+ }