| # |
| # 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. |
| # |
| |
| # Runs the test suite with `spark.sql.codegen.compiler=jdk`, so that codegen |
| # reaching the JDK backend is covered by more than `CodeCompilerSuite`. The |
| # default backend is Janino, which leaves the javac path (SPARK-57403) exercised |
| # only by its own suite even though every generated unit could take it. |
| # |
| # javac is slower than Janino, so this runs on its own schedule rather than on |
| # every push, skips the jobs that do not compile generated code (docs, lint, buf, |
| # ui), and raises the timeout of the three jobs that no longer fit their default. |
| name: "Build / Codegen JDK backend (master, Scala 2.13, JDK 17)" |
| |
| on: |
| schedule: |
| - cron: '37 8 */2 * *' |
| workflow_dispatch: |
| |
| 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 |
| # See SPARK-57411 for the measurements behind these three. |
| build_timeout_minutes: 200 |
| pyspark_timeout_minutes: 130 |
| docker_integration_tests_timeout_minutes: 140 |
| envs: >- |
| { |
| "PYSPARK_IMAGE_TO_TEST": "python-312", |
| "PYTHON_TO_TEST": "python3.12", |
| "SPARK_CODEGEN_COMPILER": "jdk" |
| } |
| jobs: >- |
| { |
| "build": "true", |
| "pyspark": "true", |
| "pyspark-pandas": "true", |
| "sparkr": "true", |
| "tpcds-1g": "true", |
| "docker-integration-tests": "true", |
| "yarn": "true" |
| } |