This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 50b0775c136 Update provider's compatibility matrix with 2.11.1 (#62295)
50b0775c136 is described below

commit 50b0775c1368a60598b82bdb53d06510508ec716
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Feb 28 19:52:28 2026 +0100

    Update provider's compatibility matrix with 2.11.1 (#62295)
---
 dev/breeze/src/airflow_breeze/global_constants.py                 | 2 +-
 .../tests/unit/amazon/aws/log/test_cloudwatch_task_handler.py     | 2 ++
 .../amazon/tests/unit/amazon/aws/log/test_s3_task_handler.py      | 6 ++++++
 .../tests/unit/elasticsearch/log/test_es_task_handler.py          | 6 ++++++
 .../google/tests/unit/google/cloud/log/test_gcs_task_handler.py   | 8 ++++++++
 .../opensearch/tests/unit/opensearch/log/test_os_task_handler.py  | 6 ++++++
 6 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/dev/breeze/src/airflow_breeze/global_constants.py 
b/dev/breeze/src/airflow_breeze/global_constants.py
index 9313511fe08..6e74e497d83 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -739,7 +739,7 @@ DEFAULT_EXTRAS = [
 PROVIDERS_COMPATIBILITY_TESTS_MATRIX: list[dict[str, str | list[str]]] = [
     {
         "python-version": "3.10",
-        "airflow-version": "2.11.0",
+        "airflow-version": "2.11.1",
         "remove-providers": "common.messaging edge3 fab git keycloak 
informatica common.ai",
         "run-unit-tests": "true",
     },
diff --git 
a/providers/amazon/tests/unit/amazon/aws/log/test_cloudwatch_task_handler.py 
b/providers/amazon/tests/unit/amazon/aws/log/test_cloudwatch_task_handler.py
index b3769386960..9cf1b0be6ed 100644
--- a/providers/amazon/tests/unit/amazon/aws/log/test_cloudwatch_task_handler.py
+++ b/providers/amazon/tests/unit/amazon/aws/log/test_cloudwatch_task_handler.py
@@ -258,6 +258,8 @@ class TestCloudwatchTaskHandler:
                 handler.handle(message)
             mock_emit.assert_has_calls([call(message) for message in messages])
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     @time_machine.travel(datetime(2025, 3, 27, 21, 58, 1, 2345), tick=False)
     def test_read(self, monkeypatch):
         # Confirmed via AWS Support call:
diff --git a/providers/amazon/tests/unit/amazon/aws/log/test_s3_task_handler.py 
b/providers/amazon/tests/unit/amazon/aws/log/test_s3_task_handler.py
index f81a5d42f5e..3fd900603e4 100644
--- a/providers/amazon/tests/unit/amazon/aws/log/test_s3_task_handler.py
+++ b/providers/amazon/tests/unit/amazon/aws/log/test_s3_task_handler.py
@@ -270,6 +270,8 @@ class TestS3TaskHandler:
         assert not self.s3_task_handler.upload_on_close
         mock_open.assert_not_called()
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     def test_set_context_not_raw(self):
         mock_open = mock.mock_open()
         with 
mock.patch("airflow.providers.amazon.aws.log.s3_task_handler.open", mock_open):
@@ -279,6 +281,8 @@ class TestS3TaskHandler:
         
mock_open.assert_called_once_with(os.path.join(self.local_log_location, 
"1.log"), "w")
         mock_open().write.assert_not_called()
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     def test_read(self):
         # Test what happens when we have two log files to read
         self.conn.put_object(Bucket="bucket", Key=self.remote_log_key, 
Body=b"Log line\nLine 2\n")
@@ -324,6 +328,8 @@ class TestS3TaskHandler:
             assert expected in actual
             assert metadata[0] == {"end_of_log": True, "log_pos": 0}
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     def test_close(self):
         self.s3_task_handler.set_context(self.ti)
         assert self.s3_task_handler.upload_on_close
diff --git 
a/providers/elasticsearch/tests/unit/elasticsearch/log/test_es_task_handler.py 
b/providers/elasticsearch/tests/unit/elasticsearch/log/test_es_task_handler.py
index 0b3fa0440f9..58f3da54b63 100644
--- 
a/providers/elasticsearch/tests/unit/elasticsearch/log/test_es_task_handler.py
+++ 
b/providers/elasticsearch/tests/unit/elasticsearch/log/test_es_task_handler.py
@@ -84,6 +84,12 @@ class TestElasticsearchTaskHandler:
     JSON_LOG_ID = f"{DAG_ID}-{TASK_ID}-{_clean_date(LOGICAL_DATE)}-1"
     FILENAME_TEMPLATE = "{try_number}.log"
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @pytest.fixture(autouse=True)
+    def _use_historical_filename_templates(self):
+        with conf_vars({("core", "use_historical_filename_templates"): 
"True"}):
+            yield
+
     @pytest.fixture
     def ti(self, create_task_instance, create_log_template):
         create_log_template(
diff --git 
a/providers/google/tests/unit/google/cloud/log/test_gcs_task_handler.py 
b/providers/google/tests/unit/google/cloud/log/test_gcs_task_handler.py
index ad0f20b2890..ae492fe919f 100644
--- a/providers/google/tests/unit/google/cloud/log/test_gcs_task_handler.py
+++ b/providers/google/tests/unit/google/cloud/log/test_gcs_task_handler.py
@@ -381,6 +381,8 @@ class TestGCSTaskHandler:
             assert logs.endswith("CONTENT")
             assert metadata == {"end_of_log": True, "log_pos": 7}
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     @mock.patch(
         
"airflow.providers.google.cloud.log.gcs_task_handler.get_credentials_and_project_id",
         return_value=("TEST_CREDENTIALS", "TEST_PROJECT_ID"),
@@ -418,6 +420,8 @@ class TestGCSTaskHandler:
             assert metadata == {"end_of_log": True, "log_pos": 0}
         mock_blob.from_string.assert_called_once_with(expected_gs_uri, 
mock_client.return_value)
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     @mock.patch(
         
"airflow.providers.google.cloud.log.gcs_task_handler.get_credentials_and_project_id",
         return_value=("TEST_CREDENTIALS", "TEST_PROJECT_ID"),
@@ -453,6 +457,8 @@ class TestGCSTaskHandler:
         
mock_blob.from_string.return_value.upload_from_string(data="CONTENT\nMESSAGE\n")
         assert self.gcs_task_handler.closed is True
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     @mock.patch(
         
"airflow.providers.google.cloud.log.gcs_task_handler.get_credentials_and_project_id",
         return_value=("TEST_CREDENTIALS", "TEST_PROJECT_ID"),
@@ -495,6 +501,8 @@ class TestGCSTaskHandler:
             any_order=False,
         )
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @conf_vars({("core", "use_historical_filename_templates"): "True"})
     @mock.patch(
         
"airflow.providers.google.cloud.log.gcs_task_handler.get_credentials_and_project_id",
         return_value=("TEST_CREDENTIALS", "TEST_PROJECT_ID"),
diff --git 
a/providers/opensearch/tests/unit/opensearch/log/test_os_task_handler.py 
b/providers/opensearch/tests/unit/opensearch/log/test_os_task_handler.py
index ab86d4ce5c5..4dc46c1d89b 100644
--- a/providers/opensearch/tests/unit/opensearch/log/test_os_task_handler.py
+++ b/providers/opensearch/tests/unit/opensearch/log/test_os_task_handler.py
@@ -70,6 +70,12 @@ class TestOpensearchTaskHandler:
     JSON_LOG_ID = 
f"{DAG_ID}-{TASK_ID}-{OpensearchTaskHandler._clean_date(LOGICAL_DATE)}-1"
     FILENAME_TEMPLATE = "{try_number}.log"
 
+    # TODO: Remove when we stop testing for 2.11 compatibility
+    @pytest.fixture(autouse=True)
+    def _use_historical_filename_templates(self):
+        with conf_vars({("core", "use_historical_filename_templates"): 
"True"}):
+            yield
+
     @pytest.fixture
     def ti(self, create_task_instance, create_log_template):
         if AIRFLOW_V_3_0_PLUS:

Reply via email to