Skip to content

HADOOP-19017. Setup pre-commit CI for Windows 10 #5820

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

Merged
merged 23 commits into from
Dec 29, 2023

Conversation

GauthamBanasandra
Copy link
Member

@GauthamBanasandra GauthamBanasandra commented Jul 8, 2023

Description of PR

This PR sets up the pre-commit CI for validating Hadoop PRs on Windows 10.
This is where the pre-commit CI for Windows 10 runs - Apache Hadoop Multibranch pipeline for Windows 10.

How was this patch tested?

  1. I've configured Apache Hadoop Multibranch pipeline for Windows 10 in Jenkins to point to my fork's trunk branch -

image

  1. I then created a PR against my fork's trunk - HADOOP-19017. Setup pre-commit CI for Windows 10 GauthamBanasandra/hadoop#2
  2. The Jenkins pipeline is detected the PR against my fork.
  3. It ran the build and performed the verification on Windows 10 - HADOOP-19017. Setup pre-commit CI for Windows 10 GauthamBanasandra/hadoop#2 (comment).

I'll configure the Branch source to point to https://github.com/apache/hadoop after merging this PR.

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

@GauthamBanasandra GauthamBanasandra self-assigned this Jul 8, 2023
@GauthamBanasandra GauthamBanasandra added build Windows Bugs related to Hadoop on Windows. labels Jul 8, 2023
@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@hadoop-yetus

This comment was marked as outdated.

@GauthamBanasandra GauthamBanasandra changed the title [Testing] Setup pre-commit CI for Windows 10 HADOOP-19017. Setup pre-commit CI for Windows 10 Dec 24, 2023
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 12m 17s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 2 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 41m 37s trunk passed
+1 💚 compile 3m 41s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 compile 3m 45s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 mvnsite 0m 30s trunk passed
+1 💚 shadedclient 31m 21s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 16s the patch passed
+1 💚 compile 3m 34s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 cc 3m 34s the patch passed
+1 💚 golang 3m 34s the patch passed
+1 💚 javac 3m 34s the patch passed
+1 💚 compile 3m 40s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 cc 3m 40s the patch passed
+1 💚 golang 3m 40s the patch passed
+1 💚 javac 3m 40s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 18s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 shadedclient 31m 23s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 9m 4s hadoop-hdfs-native-client in the patch passed.
+1 💚 asflicense 0m 37s The patch does not generate ASF License warnings.
147m 24s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5820/14/artifact/out/Dockerfile
GITHUB PR #5820
Optional Tests dupname asflicense codespell detsecrets shellcheck shelldocs compile cc mvnsite javac unit golang
uname Linux d5a19f8ee2be 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 7fb2222
Default Java Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5820/14/testReport/
Max. process+thread count 600 (vs. ulimit of 5500)
modules C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5820/14/console
versions git=2.25.1 maven=3.6.3 shellcheck=0.7.0
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 11m 20s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 shelldocs 0m 0s Shelldocs was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 2 new or modified test files.
_ trunk Compile Tests _
+1 💚 mvninstall 41m 2s trunk passed
+1 💚 compile 3m 41s trunk passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 compile 3m 44s trunk passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 mvnsite 0m 29s trunk passed
+1 💚 shadedclient 31m 39s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 0m 16s the patch passed
+1 💚 compile 3m 35s the patch passed with JDK Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04
+1 💚 cc 3m 35s the patch passed
+1 💚 golang 3m 35s the patch passed
+1 💚 javac 3m 35s the patch passed
+1 💚 compile 3m 38s the patch passed with JDK Private Build-1.8.0_392-8u392-ga-1~20.04-b08
+1 💚 cc 3m 38s the patch passed
+1 💚 golang 3m 38s the patch passed
+1 💚 javac 3m 38s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 0m 19s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 shadedclient 31m 19s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 9m 1s hadoop-hdfs-native-client in the patch passed.
+1 💚 asflicense 0m 37s The patch does not generate ASF License warnings.
146m 6s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5820/15/artifact/out/Dockerfile
GITHUB PR #5820
Optional Tests dupname asflicense codespell detsecrets shellcheck shelldocs compile cc mvnsite javac unit golang
uname Linux 43eec0dd8a9a 5.15.0-86-generic #96-Ubuntu SMP Wed Sep 20 08:23:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 939b07a
Default Java Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.21+9-post-Ubuntu-0ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_392-8u392-ga-1~20.04-b08
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5820/15/testReport/
Max. process+thread count 555 (vs. ulimit of 5500)
modules C: hadoop-hdfs-project/hadoop-hdfs-native-client U: hadoop-hdfs-project/hadoop-hdfs-native-client
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5820/15/console
versions git=2.25.1 maven=3.6.3 shellcheck=0.7.0
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

@GauthamBanasandra GauthamBanasandra marked this pull request as ready for review December 27, 2023 18:47
@GauthamBanasandra
Copy link
Member Author

@goiri , @ayushtkn could you please review my PR?

Copy link
Member

@ayushtkn ayushtkn left a comment

Choose a reason for hiding this comment

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

Looks good, but the build result in your PR with the result has some failures
image

Atleast asf licence thing looks like a problem to me. That might create issues for other developers, There is some native test failing as well, is that flaky?

@GauthamBanasandra
Copy link
Member Author

GauthamBanasandra commented Dec 28, 2023

Hi @ayushtkn,

  1. Regarding the HDFS Native Client test failures - there are a lot of test failures on Windows. Here's a run from our Nightly pipeline on Windows. We will eventually fix these tests to run on Windows. With the pre-commit CI that this PR proposes, I'm hoping that we catch any regression with the things that are currently passing -
    image

  2. Regarding the ASF license failure - this file isn't introduced by this PR. Upon checking further, it turns out to be a binary file, to which we can't add a license header. Our Nightly CI reports a full list of such files. I think we should just ignore this file from the license check. Pinging the author of this file, @viirya for further thoughts on this.

@ayushtkn
Copy link
Member

Strange the linux build doesn't report any errors for license
https://ci-hadoop.apache.org/view/Hadoop/job/hadoop-qbt-trunk-java8-linux-x86_64/1453/console
image

I'm hoping that we catch any regression with the things that are currently passing

With these many failing tests, how will other developers figure out which one is a regression & which was already broken? You should put the proposal of enabling the Pre-Commit for Windows for each PR on the dev list, I believe & let folks know the current state of the build before enabling it

For the code changes, it LGTM

@viirya
Copy link
Member

viirya commented Dec 28, 2023

2. Regarding the ASF license failure - this file isn't introduced by this PR. Upon checking further, it turns out to be a binary file, to which we can't add a license header. Our Nightly CI reports a full list of such files. I think we should just ignore this file from the license check. Pinging the author of this file, @viirya for further thoughts on this.

The file (hadoop-common-project/hadoop-common/src/test/resources/lz4/sequencefile) is created to test lz4 compatibility for a lz4 codec change. Its content is simply key/value counting from 0 until 2000. As mentioned this is a binary file so it cannot be added with license header, we can just ignore it from the license check.

@GauthamBanasandra
Copy link
Member Author

With these many failing tests, how will other developers figure out which one is a regression & which was already broken?

Thanks for your inputs @ayushtkn. I agree with you regarding this. I'll disable running the unit tests for pre-commit CI for Windows. So that we only catch regressions in the following for now -

image

@GauthamBanasandra GauthamBanasandra merged commit 98656db into apache:trunk Dec 29, 2023
jiajunmao pushed a commit to jiajunmao/hadoop-MLEC that referenced this pull request Feb 6, 2024
* This PR adds a Jenkinsfile for pre-commit CI
  to validate the Hadoop PRs on Windows 10.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Infra trunk Windows Bugs related to Hadoop on Windows.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants