Skip to content

Commit d07bd3c

Browse files
shahar1Ayush
authored andcommitted
Update README_AIRFLOW3_DEV.md (#50444)
1 parent 04198dd commit d07bd3c

File tree

1 file changed

+37
-43
lines changed

1 file changed

+37
-43
lines changed

dev/README_AIRFLOW3_DEV.md

Lines changed: 37 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -45,66 +45,61 @@
4545

4646
# Main branch is Airflow 3
4747

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.
5050
Airflow 2.11.x releases will be cut from `v2-11-stable` branch.
5151

5252
# Contributors
5353

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.
5555

56-
## Developing for providers and Helm chart
56+
## Developing for Providers and the Helm Chart
5757

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.
6161

6262
> [!NOTE]
6363
> Please note that providers have been relocated from `airflow/providers` to `providers/<provider_id>/src/airflow/providers`.
6464
65-
## Developing for Airflow 3 and 2.10.x / 2.11.x
65+
## Developing for Airflow 3 and 2.11.x
6666

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.
6868

6969
> [!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.
7474
> Points to address to make your case:
7575
>
7676
> 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).
7878
> 3. You must be willing to provide support for future bug fixes as needed.
7979
>
80-
> Points to consider on how PMC members evaluate the request for exception:
80+
> Points PMC members consider when evaluating exception requests:
8181
>
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.
8989
9090
## Developing for Airflow 3
9191

9292
PRs should target `main` branch.
9393

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
9995

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.
10198

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.
105101

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.
108103

109104
# Committers / PMCs
110105

@@ -139,16 +134,16 @@ Python developers. It allows to easily cherry-pick PRs from one branch to anothe
139134
command line and via GitHub Actions interface.
140135

141136

142-
## Merging PR for Airflow 3 and 2.10.x / 2.11.x
137+
## Merging PR for Airflow 3 and 2.11.x
143138

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.
145140
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.
147142
Note: tracking that the PRs merged as expected is the responsibility of committer who merged the PR.
148143

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.
150145

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.
152147

153148
This way release manager can verify (as usual) if all the "expected" PRs have been backported and cherry-pick remaining PRS.
154149

@@ -166,7 +161,7 @@ You can pin the workflow from the list of workflows for easy access to it.
166161
![Backport commit](images/backport_commit_action.png)
167162

168163
Use `main` as source of the workflow and copy the commit hash and enter the target branch name
169-
(e.g. `v2-10-test`, `v3-0-test`).
164+
(e.g. `v2-11-test`, `v3-0-test`).
170165

171166
The action should create a new PR with the cherry-picked commit and add a comment in the PR when it is
172167
successful (or when it fails). If automatic backporting fails because of conflicts, you have to revert to
@@ -177,7 +172,7 @@ manual backporting using `cherry-picker` CLI.
177172
Backporting via CLI might be more convenient for some users. Also it is necessary if you want to backport
178173
PR that has conflicts. It also allows to backport commit to multiple branches in the same command.
179174

180-
To backport PRs to any branch (for example v2-10-test), you can use the following command:
175+
To backport PRs to any branch (for example: v2-11-test), you can use the following command:
181176

182177
It's easiest to install it (and keep cherry-picker up-to-date) using `uv tool`:
183178

@@ -231,10 +226,9 @@ cherry_picker --continue # Should continue cherry-picking process
231226
> you might need to run `git config --local --remove-section cherry-picker` to clean up the configuration
232227
> stored in `.git/config`.
233228
234-
## Merging PRs 2.10.x
229+
## Merging PRs for Airflow 2
235230
236-
Make sure PR targets `v2-10-test` branch and merge it when ready.
237-
Make sure your PRs target the `v2-10-test` branch, and it can be merged when ready.
231+
Make sure PR targets `v2-11-test` branch and merge it when ready.
238232
All regular protocols of merging considerations are applied.
239233
240234
## Merging PRs for Airflow 3

0 commit comments

Comments
 (0)