Uploaded image for project: 'Yetus'
  1. Yetus
  2. YETUS-656

Reduce build time by skipping tests in no-test-triggering modules

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Precommit
    • None

    Description

      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...]

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            aw Allen Wittenauer

            Dates

              Created:
              Updated:

              Slack

                Issue deployment