This is an automated email from the ASF dual-hosted git repository. ephraimanierobi pushed a commit to branch v2-5-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 8ab8ac84b5065ff921e6ff9f7c73abc3236ee376 Author: Jarek Potiuk <[email protected]> AuthorDate: Sun Jan 29 14:45:25 2023 +0100 Make skipping provider tests part of selective-checks (#29216) The "SKIP_PROVIDER_TESTS" was added as quick-fix when releasing 2.5.0 release, now we can make it a bit more consistent with all other selective checks. It has now unit tests covering it and it is produced as selective-checks output so that we do not have to encode the logic in conditions in the ci.yml. (cherry picked from commit e5d51fc50f6aad0f35f775367bc700708fe6d62b) --- .github/workflows/ci.yml | 5 +++-- CI.rst | 2 ++ dev/breeze/src/airflow_breeze/utils/docker_command_utils.py | 2 ++ dev/breeze/src/airflow_breeze/utils/selective_checks.py | 4 ++++ dev/breeze/tests/test_selective_checks.py | 7 +++++++ scripts/ci/docker-compose/devcontainer.env | 1 + 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6b1e82442..63138de93f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -149,6 +149,7 @@ jobs: mssql-exclude: ${{ steps.selective-checks.outputs.mssql-exclude }} sqlite-exclude: ${{ steps.selective-checks.outputs.sqlite-exclude }} providers-package-format-exclude: ${{ steps.selective-checks.outputs.providers-package-format-exclude }} + skip-provider-tests: ${{ steps.source-run-info.outputs.skip-provider-tests }} run-tests: ${{ steps.selective-checks.outputs.run-tests }} run-www-tests: ${{ steps.selective-checks.outputs.run-www-tests }} run-kubernetes-tests: ${{ steps.selective-checks.outputs.run-kubernetes-tests }} @@ -1008,7 +1009,7 @@ jobs: BACKEND_VERSION: "${{needs.build-info.outputs.default-python-version}}" JOB_ID: "integration" COVERAGE: "${{needs.build-info.outputs.run-coverage}}" - SKIP_PROVIDER_TESTS: "${{needs.build-info.outputs.default-branch != 'main'}}" + SKIP_PROVIDER_TESTS: "${{needs.build-info.outputs.skip-provider-tests}}" if: needs.build-info.outputs.run-tests == 'true' steps: - name: Cleanup repo @@ -1068,7 +1069,7 @@ jobs: BACKEND_VERSION: "${{needs.build-info.outputs.default-python-version}}" JOB_ID: "integration" COVERAGE: "${{needs.build-info.outputs.run-coverage}}" - SKIP_PROVIDER_TESTS: "${{needs.build-info.outputs.default-branch != 'main'}}" + SKIP_PROVIDER_TESTS: "${{needs.build-info.outputs.skip-provider-tests}}" if: needs.build-info.outputs.run-tests == 'true' steps: - name: Cleanup repo diff --git a/CI.rst b/CI.rst index 5c937e5794..178e536376 100644 --- a/CI.rst +++ b/CI.rst @@ -535,6 +535,8 @@ those via command line flags passed to ``breeze`` command. | | | | | | | | | | | \* set to true in pre-commits | +-----------------------------------------+-------------+--------------+------------+-------------------------------------------------+ +| ``SKIP_PROVIDER_TESTS`` | false\* | false\* | false\* | Skip running provider integration tests | ++-----------------------------------------+-------------+--------------+------------+-------------------------------------------------+ | ``SKIP_SSH_SETUP`` | false\* | false\* | false\* | Skip setting up SSH server for tests. | | | | | | | | | | | | \* set to true in GitHub CodeSpaces | diff --git a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py index 7670b5bbdd..b990e44169 100644 --- a/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py +++ b/dev/breeze/src/airflow_breeze/utils/docker_command_utils.py @@ -614,6 +614,7 @@ def update_expected_environment_variables(env: dict[str, str]) -> None: set_value_to_default_if_not_set(env, "RUN_SYSTEM_TESTS", "false") set_value_to_default_if_not_set(env, "RUN_TESTS", "false") set_value_to_default_if_not_set(env, "SKIP_ENVIRONMENT_INITIALIZATION", "false") + set_value_to_default_if_not_set(env, "SKIP_PROVIDER_TESTS", "false") set_value_to_default_if_not_set(env, "SKIP_SSH_SETUP", "false") set_value_to_default_if_not_set(env, "TEST_TYPE", "") set_value_to_default_if_not_set(env, "TEST_TIMEOUT", "60") @@ -656,6 +657,7 @@ DERIVE_ENV_VARIABLES_FROM_ATTRIBUTES = { "PYTHON_MAJOR_MINOR_VERSION": "python", "SKIP_CONSTRAINTS": "skip_constraints", "SKIP_ENVIRONMENT_INITIALIZATION": "skip_environment_initialization", + "SKIP_PROVIDER_TESS": "skip_provider_tests", "SQLITE_URL": "sqlite_url", "START_AIRFLOW": "start_airflow", "USE_AIRFLOW_VERSION": "use_airflow_version", diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py b/dev/breeze/src/airflow_breeze/utils/selective_checks.py index eeaf65150e..2aee00491b 100644 --- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py +++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py @@ -590,6 +590,10 @@ class SelectiveChecks: def skip_pre_commits(self) -> str: return "identity" if self._default_branch == "main" else "identity,check-airflow-2-2-compatibility" + @cached_property + def skip_provider_tests(self) -> bool: + return self._default_branch != "main" + @cached_property def cache_directive(self) -> str: return "disabled" if self._github_event == GithubEvents.SCHEDULE else "registry" diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py index 27333dd5c0..5bf2ac41c3 100644 --- a/dev/breeze/tests/test_selective_checks.py +++ b/dev/breeze/tests/test_selective_checks.py @@ -398,6 +398,7 @@ def test_expected_output_full_tests_needed( "full-tests-needed": "false", "providers-package-format-exclude": "[{'package-format': 'sdist'}]", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "true", "test-types": "", }, id="Nothing should run if only non-important files changed", @@ -418,6 +419,7 @@ def test_expected_output_full_tests_needed( "providers-package-format-exclude": "[{'package-format': 'sdist'}]", "run-kubernetes-tests": "true", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "true", "test-types": "Always", }, id="No Helm tests, No providers should run if only chart/providers changed in non-main", @@ -439,6 +441,7 @@ def test_expected_output_full_tests_needed( "providers-package-format-exclude": "[{'package-format': 'sdist'}]", "run-kubernetes-tests": "true", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "true", "test-types": "Always CLI", }, id="Only CLI tests and Kubernetes tests should run if cli/chart files changed in non-main branch", @@ -459,6 +462,7 @@ def test_expected_output_full_tests_needed( "providers-package-format-exclude": "[{'package-format': 'sdist'}]", "run-kubernetes-tests": "false", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "true", "test-types": "API Always CLI Core Other WWW", }, id="All tests except Providers and should run if core file changed in non-main branch", @@ -492,6 +496,7 @@ def test_expected_output_pull_request_v2_3( "run-tests": "false", "docs-build": "false", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "false", "test-types": "", }, id="Nothing should run if only non-important files changed", @@ -511,6 +516,7 @@ def test_expected_output_pull_request_v2_3( "docs-build": "true", "run-kubernetes-tests": "true", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "false", "test-types": "Always CLI", }, id="CLI tests and Kubernetes tests should run if cli/chart files changed", @@ -529,6 +535,7 @@ def test_expected_output_pull_request_v2_3( "docs-build": "true", "run-kubernetes-tests": "false", "upgrade-to-newer-dependencies": "false", + "skip-provider-tests": "false", "test-types": "API Always CLI Core Other Providers WWW", }, id="All tests except should run if core file changed", diff --git a/scripts/ci/docker-compose/devcontainer.env b/scripts/ci/docker-compose/devcontainer.env index e0f326612b..c3ca6e8420 100644 --- a/scripts/ci/docker-compose/devcontainer.env +++ b/scripts/ci/docker-compose/devcontainer.env @@ -59,6 +59,7 @@ START_AIRFLOW="false" SKIP_CONSTRAINTS="false" SKIP_SSH_SETUP="true" SKIP_ENVIRONMENT_INITIALIZATION="false" +SKIP_PROVIDER_TESTS="false" TEST_TYPE= UPGRADE_TO_NEWER_DEPENDENCIES="false" VERBOSE="false"
