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 bb9cc304181 Document DAG.test() behavior change in the Airflow 2.7.0
release notes (#72485)
bb9cc304181 is described below
commit bb9cc30418118482e40e85194bfd500c8d2f63b7
Author: Dheeren Mohta <[email protected]>
AuthorDate: Wed Sep 9 03:58:43 2026 +0530
Document DAG.test() behavior change in the Airflow 2.7.0 release notes
(#72485)
PR #32820 (Airflow 2.7.0) changed DAG.test() to return the executed
DagRun instead of None, and to keep running remaining tasks after one
fails instead of aborting the whole run immediately. Neither change
was called out in the 2.7.0 release notes, even though it is a
positive, user-visible improvement (it lets DAG.test() exercise DAGs
with expected-to-fail tasks and trigger-rule branches without falling
back to the DebugExecutor).
A newsfragment is not the right vehicle here since newsfragments only
feed the *next*, not-yet-released changelog section; this instead adds
the missing note directly to the already-published 2.7.0 section of
RELEASE_NOTES.rst, per maintainer guidance on the prior attempt at this
issue (apache/airflow#58418).
Closes: #34490
---
RELEASE_NOTES.rst | 11 +++++++++++
reproducible_build.yaml | 4 ++--
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index b5fcab752b3..a02be76362a 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -6441,6 +6441,17 @@ You can achieve it also by installing airflow with
``[celery]``, ``[cncf.kuberne
Users who base their images on the ``apache/airflow`` reference image (not
slim) should be unaffected - the base
reference image comes with all the three providers installed.
+``DAG.test()`` now returns a ``DagRun`` and no longer stops at the first task
failure (#32820)
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+This was an undocumented side effect of adding support for setup/teardown
tasks in mapped task
+groups. Previously, ``DAG.test()`` returned ``None``, and if any task raised
an exception, the
+whole test run stopped immediately without running the DAG's other schedulable
tasks. Now,
+``DAG.test()`` returns the ``DagRun`` it executed, and a failing task no
longer aborts the run:
+the remaining tasks keep running according to their trigger rules, just like
in a real scheduled
+run. This makes it possible to use ``DAG.test()`` to test DAGs where a task is
expected to fail
+but downstream tasks with a different trigger rule (or a parallel mapped task
group) should still
+run, without having to fall back to the ``DebugExecutor``.
+
Improvement Changes
^^^^^^^^^^^^^^^^^^^
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index 97d303fe8db..899ae26633d 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 0016af03b467abd6a1e3f1de176adc2f
-source-date-epoch: 1786526826
+release-notes-hash: 450e43a9dd38329434e5f90e2762ff8c
+source-date-epoch: 1788437511