Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build: Run Hive tests in separate CI actions #3300

Merged
merged 2 commits into from
Oct 18, 2021

Conversation

rdblue
Copy link
Contributor

@rdblue rdblue commented Oct 17, 2021

This introduces a new property, hiveVersions, that controls whether Hive modules are added to the build. This is similar to recent changes for Spark in #3298. Now, the core test job no longer runs Hive or Spark tests. Instead, Hive tests are run individually by the hive-ci.yml configuration. Hive 2 and Hive 3 tests run in separate jobs so they run in parallel. This should decrease the overall time it takes for CI to validate changes, especially for Java 8. In addition, failures should happen sooner, which will cancel other tests and save overall CI resources.

@rdblue
Copy link
Contributor Author

rdblue commented Oct 17, 2021

Spark tests are running because this also pulled Spark jobs into spark-ci.yml.

path: |
**/build/testlogs

spark2-tests:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved into spark-ci.yml.


def hiveVersions = (System.getProperty("hiveVersions") != null ? System.getProperty("hiveVersions") : System.getProperty("defaultHiveVersions")).split(",")

project(':iceberg-mr') {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These were copied directly from build.gradle. They are unchanged except for the additional check for the Hive 3 dependency in hive-runtime. If Hive 3 isn't part of the build, it is excluded. By default, both 2 and 3 are in the build.


// The purpose of this module is to re-shade org.apache.orc.storage to the original org.apache.hadoop.hive package
// name. This is to be used by Hive3 for features including e.g. vectorization.
project(':iceberg-hive3-orc-bundle') {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These were copied directly from build.gradle and haven't been modified.

@aokolnychyi
Copy link
Contributor

LGTM

@rdblue
Copy link
Contributor Author

rdblue commented Oct 18, 2021

Thanks, @aokolnychyi!

@rdblue rdblue merged commit 8fdcdd0 into apache:master Oct 18, 2021
@rdblue rdblue deleted the separate-hive-tests branch October 18, 2021 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants