Hi,
you can find here (1) the current ANT-based precommit script that runs
againsts every Github Pull Request .

These are the steps of the script and how we are doing the same in Maven:
1) check for @author tags -> handled with maven-checkstyle-plugin
2) Check for new tests in the patch -> not handled with maven
3) check javadoc warnings -> not handled with maven (we should add
-Xdoclint in Maven)
4) check java compilation for warnings -> handled with -Werror
-Xlint:deprecation  -Xlint:unchecked (this is slightly different, in ANT we
have a generic -Xlint and we were counting for the number of warnings)
5) check for "releaseaudit" -> handled with "Apache Rat Plugin" in maven
6) check "findbugs" -> handled with "spotbugs" with maven
7) run "tests" -> handle with maven default build "verify"
8) run "contrib tests" -> not handled with maven
9) add JIRA comment -> not handled with maven (not needed IMHO, we have
github PR status lines)

My questions to the community:
- I would like to drop 2), "check for new tests": I think it gives no so
much value, and it is tricky to reimplement, but I can do
- I would like to drop 8) "run contrib tests": there is an open discussion
about dropping "contrib" at all
- I would like to drop 9) -> add jira comment: We already have a better
workflow with github, no need to spam JIRA. I can see a little value in
having some track in JIRA that "the patch was good", but I don't think it
is worth to continue to put JIRA credentials on jenkins (from a security
perspective)

Please take a look and give your opinion, if no one objects and some
committer supports my changes we will be able to drop ANT precommit soon

Regards

Enrico

[1]
https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/test/resources/test-github-pr.sh

Reply via email to