You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: dev/README_AIRFLOW3_DEV.md
+37-43Lines changed: 37 additions & 43 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,66 +45,61 @@
45
45
46
46
# Main branch is Airflow 3
47
47
48
-
The `main` branch is for development of Airflow 3.
49
-
Airflow 2.10.x releases will be cut from `v2-10-stable` branch.
48
+
The `main` branch is for development of Airflow 3.x.
49
+
Airflow 3.0.x releases will be cut from `v3-10-stable` branch.
50
50
Airflow 2.11.x releases will be cut from `v2-11-stable` branch.
51
51
52
52
# Contributors
53
53
54
-
The following section explains to which branches you should target your PR.
54
+
The following section explains which branches you should target with your PR.
55
55
56
-
## Developing for providers and Helm chart
56
+
## Developing for Providers and the Helm Chart
57
57
58
-
PRs should target `main` branch.
59
-
Make sure your code is only about Providers or Helm chart.
60
-
Avoid mixing core changes into the same PR
58
+
PRs should target the `main` branch.
59
+
Make sure your changes are only related to Providers or the Helm chart.
60
+
Avoid mixing core changes into the same PR.
61
61
62
62
> [!NOTE]
63
63
> Please note that providers have been relocated from `airflow/providers` to `providers/<provider_id>/src/airflow/providers`.
64
64
65
-
## Developing for Airflow 3 and 2.10.x / 2.11.x
65
+
## Developing for Airflow 3 and 2.11.x
66
66
67
-
If the PR is relevant for both Airflow 3 and 2, it should target `main` branch.
67
+
If the PR is relevant to both Airflow 3 and 2.11.x, it should target the`main` branch.
68
68
69
69
> [!IMPORTANT]
70
-
> The mental model of Airflow 2.11 is a bridge release for Airflow 3.
71
-
> As a result, Airflow 2.11 is not planned to introduce new features other than ones relevant to the bridge release for Airflow 3.
72
-
> That said, we recognize that there may be exceptions.
73
-
> If you believe a specific feature is a must-have for Airflow 2.11, you will need to raise this as a discussion thread on the mailing list.
70
+
> Airflow 2.11 is intended as a bridge release for Airflow 3.
71
+
> As such, it is not expected to introduce new features beyond those relevant to the transition to Airflow 3.
72
+
> That said, we recognize there may be exceptions.
73
+
> If you believe a specific feature is essential for Airflow 2.11, please start a discussion thread on the mailing list.
74
74
> Points to address to make your case:
75
75
>
76
76
> 1. You must clarify the urgency, specifically why it can't wait for Airflow 3.
77
-
> 2. You need to be willing to deliver the feature for both the `main` branch and the Airflow 2.11 branch.
77
+
> 2. You need to be willing to deliver the feature for both the `main` branch and the `v2-11-test` branch (either by automatic or manual backporting).
78
78
> 3. You must be willing to provide support for future bug fixes as needed.
79
79
>
80
-
> Points to consider on how PMC members evaluate the request for exception:
80
+
> Points PMC members consider when evaluating exception requests:
81
81
>
82
-
> 1. Feature impact - Is it really urgent? How many are affected?
83
-
> 2. Workarounds - Are there any?
84
-
> 3. Scope of change - Both in code lines / number of files and components changed.
85
-
> 4. Centrality - Is the feature at the heart of Airflow (scheduler, dag parser) or peripheral.
86
-
> 5.Identity of the requester - Is the request from/supported by a member of the community?
87
-
> 6.Approved cases with similar details in the past.
88
-
> 7. Other considerations that may be raised by PMC members depending on the case.
82
+
> 1.**Feature impact** – Is it truly urgent? How many users are affected?
83
+
> 2.**Workarounds** – Are viable alternatives available?
84
+
> 3.**Scope of change** – How extensive is the change (e.g., number of lines, files, or components affected)?
85
+
> 4.**Centrality** – Does the feature affect core parts of Airflow (e.g., scheduler, DAG parser) or more peripheral areas?
86
+
> 5.**Community support** – Is the request made or endorsed by an active community member?
87
+
> 6.**Precedents** – Have similar cases been approved in the past?
88
+
> 7.**Other considerations** – Any additional factors PMC members may raise based on the specific context.
89
89
90
90
## Developing for Airflow 3
91
91
92
92
PRs should target `main` branch.
93
93
94
-
## Developing for Airflow 2.10.x
95
-
96
-
PR should target `v2-10-test` branch. When cutting a new release for 2.10 release manager
97
-
will sync `v2-10-test` branch to `v2-10-stable` and cut the release from the stable branch.
98
-
PR should never target `v2-10-stable` unless specifically instructed by release manager.
94
+
## Developing for Airflow 2.11.x
99
95
100
-
## Developing for Airflow 2.11
96
+
If a PR can be cleanly cherry-picked from `main` to `v2-11-test`, it should target the `main` branch and include the `backport-to-v2-11-test` label to automate the backport.
97
+
If the PR cannot be cherry-picked without conflicts, you must manually create a PR targeting the `v2-11-test` branch.
101
98
102
-
Version 2.11 is planned to be cut from `v2-10-stable` branch.
103
-
The version will contain features relevant as bridge release for Airflow 3.
104
-
We will not backport other features from `main` branch to 2.11.
99
+
When preparing a new 2.11.x release, the release manager will sync the `v2-11-test` branch to `v2-11-stable` and cut the release from the stable branch.
100
+
PRs should **never** target `v2-11-stable` directly unless explicitly instructed by the release manager.
105
101
106
-
> [!WARNING]
107
-
> Airflow 2.11 policy may change as its release becomes closer.
102
+
Only features relevant to the Airflow 3 bridge should be backported to 2.11. Other features from the `main` branch will not be backported.
108
103
109
104
# Committers / PMCs
110
105
@@ -139,16 +134,16 @@ Python developers. It allows to easily cherry-pick PRs from one branch to anothe
139
134
command line and via GitHub Actions interface.
140
135
141
136
142
-
## Merging PR for Airflow 3 and 2.10.x / 2.11.x
137
+
## Merging PR for Airflow 3 and 2.11.x
143
138
144
-
The committer who merges the PR is responsible for backporting the PR to `v2-10-test`.
139
+
The committer who merges the PR is responsible for backporting the PR to `v2-11-test`, when it's possible and desirable to do so.
145
140
It means that they should create a new PR where the original commit from main is cherry-picked and take care for resolving conflicts.
146
-
If the cherry-pick is too complex, then ask the PR author / start your own PR against `v2-10-test` directly with the change.
141
+
If the cherry-pick is too complex, then ask the PR author / start your own PR against `v2-11-test` directly with the change.
147
142
Note: tracking that the PRs merged as expected is the responsibility of committer who merged the PR.
148
143
149
-
Committer may also request from PR author to raise 2 PRs one against `main` branch and one against `v2-10-test` prior to accepting the code change.
144
+
Committer may also request from PR author to raise 2 PRs one against `main` branch and one against `v2-11-test` prior to accepting the code change.
150
145
151
-
Mistakes happen, and such backport PR work might fall through cracks. Therefore, if the committer thinks that certain PRs should be backported, they should set 2.10.x milestone for them.
146
+
Mistakes happen, and such backport PR work might fall through cracks. Therefore, if the committer thinks that certain PRs should be backported, they should set 2.11.x milestone for them.
152
147
153
148
This way release manager can verify (as usual) if all the "expected" PRs have been backported and cherry-pick remaining PRS.
154
149
@@ -166,7 +161,7 @@ You can pin the workflow from the list of workflows for easy access to it.
0 commit comments