Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-13102

Travis build optimization

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • Travis

    Description

      For some types of PRs, it's relatively easy to tell that the changes in a PR don't affect other parts of the system. Namely, it's documentation changes and maybe Web UI changes (although, the letter is not that frequently and regularly changes).

      In such cases, it's possible to run more "lightweight" build steps, skipping the whole build and tests suite.

      Note (from Zentol): in that case, the check at least should run license checks.

      The idea is that for documentation only changes, we can detect such PRs by testing that the list of changed files are only in docs/ subdir (excluding docs/_includes/generated/). Detecting list of changed files during a Travis build is described in:
       * https://twitter.com/keeskluskens/status/996005160089477120
       * https://reflectoring.io/skip-ci-build/

      Additional improvement: if we know that a PR is docs only change, we can also early run links checks during the on PR CI run (currently, such check is running after merge, by a scheduled run).

      Update: after some prototyping and understanding how current build and tests are parallelized, I think using a specific heuristics for docs only would be not maintainable long term (and may conflict with other optimization approaches).
      So, instead, the proposal is to make a more general dependencies checks that should help avoid running non-changed/non-affected tests. This is one of possible optimization ways for FLINK-8745 (Incremental builds).

      Attachments

        Issue Links

          Activity

            People

              1u0 Alex
              1u0 Alex
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m