[
https://issues.apache.org/jira/browse/FLINK-13102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex updated FLINK-13102:
-------------------------
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).
was:
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
> Travis build optimization
> -------------------------
>
> Key: FLINK-13102
> URL: https://issues.apache.org/jira/browse/FLINK-13102
> Project: Flink
> Issue Type: Improvement
> Components: Travis
> Reporter: Alex
> Priority: Major
>
> 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).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)