This is an automated email from the ASF dual-hosted git repository. vatsrahul1001 pushed a commit to branch backport-bb9cc30418-v3-3-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit f2272ca45713638d8fd76904fc80061792609f40 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 (cherry picked from commit bb9cc30418118482e40e85194bfd500c8d2f63b7) --- 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 51c344f51b1..b631113056d 100644 --- a/reproducible_build.yaml +++ b/reproducible_build.yaml @@ -1,2 +1,2 @@ -release-notes-hash: 0016af03b467abd6a1e3f1de176adc2f -source-date-epoch: 1786375005 +release-notes-hash: 450e43a9dd38329434e5f90e2762ff8c +source-date-epoch: 1788933260
