-
Notifications
You must be signed in to change notification settings - Fork 14.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve selectiveness of selective checks for "always/tests" case #35458
Merged
potiuk
merged 1 commit into
apache:main
from
potiuk:improve-selective-checks-for-tests-always-case
Nov 5, 2023
Merged
Improve selectiveness of selective checks for "always/tests" case #35458
potiuk
merged 1 commit into
apache:main
from
potiuk:improve-selective-checks-for-tests-always-case
Nov 5, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
When we decide which tests should be run we err on a safe side and when we see that some files were modified that we cannot classify to specific providers, API, CLI, WWW area, we err on a safe side and assume that we should run all tests (This is called a "core/other modified" case. The assumption here is that modificiation of any of the core code or some of the auxiliary utils might affect everyone else. However - we can safely assume that if only "tests/always" files have been modified, then we can remove them from the list - because those tests will anyhow will be executed and changing those tests should have no impact on other tests. Those tests are ALWAYS executed. iThis will - in some cases - avoid running full test suite when we really only run a small subset of those. This was the case for apache#35457 where it run full test suite, but really only "Always Providers[common.io]" were needed.
potiuk
commented
Nov 5, 2023
@@ -676,7 +700,7 @@ def test_expected_output_full_tests_needed( | |||
), | |||
], | |||
) | |||
def test_expected_output_pull_request_v2_3( | |||
def test_expected_output_pull_request_v2_7( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's unrelated, but I noticed that we have not updated the branch to latest - it does not matter, but might be misleading
bolkedebruin
approved these changes
Nov 5, 2023
eladkal
approved these changes
Nov 5, 2023
romsharon98
pushed a commit
to romsharon98/airflow
that referenced
this pull request
Nov 10, 2023
…ache#35458) When we decide which tests should be run we err on a safe side and when we see that some files were modified that we cannot classify to specific providers, API, CLI, WWW area, we err on a safe side and assume that we should run all tests (This is called a "core/other modified" case. The assumption here is that modificiation of any of the core code or some of the auxiliary utils might affect everyone else. However - we can safely assume that if only "tests/always" files have been modified, then we can remove them from the list - because those tests will anyhow will be executed and changing those tests should have no impact on other tests. Those tests are ALWAYS executed. iThis will - in some cases - avoid running full test suite when we really only run a small subset of those. This was the case for apache#35457 where it run full test suite, but really only "Always Providers[common.io]" were needed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When we decide which tests should be run we err on a safe side and when we see that some files were modified that we cannot classify to specific providers, API, CLI, WWW area, we err on a safe side and assume that we should run all tests (This is called a "core/other modified" case. The assumption here is that modificiation of any of the core code or some of the auxiliary utils might affect everyone else.
However - we can safely assume that if only "tests/always" files have been modified, then we can remove them from the list - because those tests will anyhow will be executed and changing those tests should have no impact on other tests. Those tests are ALWAYS executed. iThis will - in some cases - avoid running full test suite when we really only run a small subset of those.
This was the case for #35457 where it run full test suite, but really only "Always Providers[common.io]" were needed.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rst
or{issue_number}.significant.rst
, in newsfragments.