You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@yetus.apache.org by "Allen Wittenauer (JIRA)" <ji...@apache.org> on 2018/08/03 21:02:00 UTC

[jira] [Created] (YETUS-656) Reduce build time by skipping tests in no-test-triggering modules

Allen Wittenauer created YETUS-656:
--------------------------------------

             Summary: Reduce build time by skipping tests in no-test-triggering modules
                 Key: YETUS-656
                 URL: https://issues.apache.org/jira/browse/YETUS-656
             Project: Yetus
          Issue Type: Improvement
          Components: Test Patch
            Reporter: Allen Wittenauer
            Assignee: Allen Wittenauer


While thinking about  --skip-dirs, and .gitignore, and config files that sit in the base of a source tree, it occurred to me that modifying them while also modifying another file elsewhere in the tree has a severely negative consequence that probably could be avoided almost automatically.

For example:

Patch modifies:

	/BUILDING.txt
	/coolproject-main/src/main/java/Foo.java


Current path:

	/BUILDING.txt - > no tests triggered
	/coolproject-main/../Foo.java -> compile, javac, javadoc, unit, ...


Result:

	/ and /cool-project-main directories get compile, javac, javadoc, unit, ... run.


Proposal:

	Keep track of which modules have which tests triggered.  Ask the personality if (list of modules that didn't trigger tests) should be run while running a given test.  Or ask the plugin whether that module should be run?

	This would mean that, for example, if BUILDING.txt is modified in /, unit tests wouldn't be run for the whole project.

[NOTE: This might not be viable while test-patch is written in shell.  As I finish the rewrite in Python though, this might be something to look at...]




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)