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

[FLINK-18069][CI] Test if Java/Scaladocs builds are passing in the compile stage #12447

Closed
wants to merge 3 commits into from

Conversation

rmetzger
Copy link
Contributor

@rmetzger rmetzger commented Jun 2, 2020

What is the purpose of the change

We are currently only checking if the Scaladocs are passing when building the flink docs on buildbot.
With this change, we are checking if generating the scaladocs is successful.

@flinkbot
Copy link
Collaborator

flinkbot commented Jun 2, 2020

Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
to review your pull request. We will use this comment to track the progress of the review.

Automated Checks

Last check on commit cc6305f (Tue Jun 02 18:46:10 UTC 2020)

Warnings:

  • No documentation files were touched! Remember to keep the Flink docs up to date!

Mention the bot in a comment to re-run the automated checks.

Review Progress

  • ❓ 1. The [description] looks good.
  • ❓ 2. There is [consensus] that the contribution should go into to Flink.
  • ❓ 3. Needs [attention] from.
  • ❓ 4. The change fits into the overall [architecture].
  • ❓ 5. Overall code [quality] is good.

Please see the Pull Request Review Guide for a full explanation of the review process.


The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands
The @flinkbot bot supports the following commands:

  • @flinkbot approve description to approve one or more aspects (aspects: description, consensus, architecture and quality)
  • @flinkbot approve all to approve all aspects
  • @flinkbot approve-until architecture to approve everything until architecture
  • @flinkbot attention @username1 [@username2 ..] to require somebody's attention
  • @flinkbot disapprove architecture to remove an approval you gave earlier

@flinkbot
Copy link
Collaborator

flinkbot commented Jun 2, 2020

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run travis re-run the last Travis build
  • @flinkbot run azure re-run the last Azure build

@rmetzger
Copy link
Contributor Author

rmetzger commented Jun 2, 2020

Note: This PR depends on #12443 :)

@zentol
Copy link
Contributor

zentol commented Jun 3, 2020

Please rebase the PR on top of #12443 so we can check whether there are more failures, whether it fixes the issue and how much additional time we spend in the compile stage.

@zentol zentol self-assigned this Jun 3, 2020
@rmetzger
Copy link
Contributor Author

rmetzger commented Jun 3, 2020

#12443 fixes the only issue we currently have: https://dev.azure.com/georgeryan1322/Flink/_build/results?buildId=334&view=results

@@ -43,39 +43,39 @@ echo "==========================================================================
EXIT_CODE=0

run_mvn clean install $MAVEN_OPTS -Dflink.convergence.phase=install -Pcheck-convergence -Dflink.forkCount=2 \
-Dflink.forkCountTestPackage=2 -Dmaven.javadoc.skip=true -U -DskipTests
Copy link
Contributor

Choose a reason for hiding this comment

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

it may make sense to instead build the javadocs exactly like we do on buildbot:
mvn javadoc:aggregate -Paggregate-scaladoc -DadditionalJOption="-Xdoclint:none" -Dmaven.javadoc.failOnError=false -Dcheckstyle.skip=true -Denforcer.skip=true -Dheader="<a href=\"http://flink.apache.org/\" target=\"_top\"><h1>Back to Flink Website</h1></a>"

@zentol
Copy link
Contributor

zentol commented Jun 3, 2020

Time-wise this seems fine; virtually no change for the javadocs, and scaladoc only takes 20 seconds.
It would be nice if we could write the scaladoc warnings into a file though.

@rmetzger
Copy link
Contributor Author

rmetzger commented Jun 3, 2020

Thanks a lot for your comments. I pushed a commit addressing them.

@tzulitai
Copy link
Contributor

tzulitai commented Jun 4, 2020

+1, LGTM

echo "============ Checking Javadocs and Scaladocs ============"

# use the same invocation as on buildbot (https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/flink.conf)
run_mvn javadoc:aggregate -Paggregate-scaladoc -DadditionalJOption='-Xdoclint:none' \
Copy link
Contributor

Choose a reason for hiding this comment

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

same deal as scala, move the output into a file.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm sorry that you have to point me to all cases of the same class of problems.
I have no problem with verbose logs, that's why I don't feel the urge to spend time on controlling the logging behavior. I will address this & rebase to the latest master (to see the build passing)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

For the scala docs, I'm hiding all the warnings / errors and only show them if the build fails. I'm always showing the maven output.

For the Javadocs, I don't know if the errors are send to stderr.
I have the feeling that it is not worth my time producing a javadoc error to understand how the javadocs are printed (stderr vs stdout). I would rather prefer to spend my time testing the new 1.11 features.
In my opinion, it is okay to have 25000 lines of logs for a regular Flink compile.

If the compile stage passes, you usually don't check its output.
if it fails, you will see the error at the bottom of the file + a lot of helpful debug information above (which you would see anyways).

Copy link
Contributor

Choose a reason for hiding this comment

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

shouldn't matter whether it goes into stdout/stderr; you could just pipe everything into a file and dump the whole thing if an error happened.
Basically a simplified version of what you already did for scala, which should at most be a 1 minute fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I addressed the issue & rebased to latest master.

Copy link
Contributor

@zentol zentol left a comment

Choose a reason for hiding this comment

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

+1

@rmetzger rmetzger closed this in 46d42e5 Jun 5, 2020
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.

4 participants