I think separating development and CI infrastructure proposals from AIPs makes sense.
They focus on different aspects of the project. fat-catTW Shahar Epstein via dev <[email protected]> 於 2026年11月1日週日 下午11:11寫道: > +1 from me, I think that it makes sense to separate the development > proposals from the product itself. > > > > Shahar > > > On Sun, Nov 1, 2026, 16:18 Jarek Potiuk <[email protected]> wrote: > > > Hello everyone, > > > > This is the follow-up to the discussion I reopened on 2026-10-27 [1]. > > In that thread I proposed to stop treating changes to how we develop > > and test Airflow (CI, development environment, test infrastructure) > > as AIPs, and to give them a separate place on the wiki. Nobody > > objected so far, but since no-objection does not mean consensus, > > as we learned recently - before I start a formal vote, i wanted to turn > it > > into a PROPOSAL so that it has clear subject and separate thread. > > > > Why > > --- > > > > The AIP page [2], in "What is considered a major change that needs > > an AIP?", gives two criteria. An AIP is needed for: > > > > * "Any major new feature, subsystem, or piece of functionality" > > * "Any change that impacts the public interfaces of the project" > > > > and it lists what the public interfaces are: > > > > * Airflow DAG DSL components: DAG, XCom, TaskInstance and context > > * The Web UI > > * Core operators (BaseOperator, SubDagOperator, SensorOperator) > > * REST endpoints > > * Command line tools and arguments > > > > None of the proposals listed below meets either criterion: > > > > * They are not a feature, subsystem or functionality of Airflow. > > Nothing they introduced ships to users in any Airflow release: > > the linter setup, Breeze, the CI image, the move away from > > Travis, pytest, the system and performance test frameworks, the > > self-hosted runners, the guardrails of the AWS account that hosts > > them, and running CI in contributors' forks all live in our > > repository and infrastructure, not in the product. > > > > * They change none of the interfaces listed above. No Dag authoring > > component, UI page, operator, REST endpoint or CLI command > > behaves differently because of any of them. > > > > What they do change is how we, contributors and maintainers, work: > > how code is checked, built and tested, and where CI runs. Those are > > decisions about how the project operates. We made them AIPs only > > because the AIP page was the one place we had to describe a design > > and record a decision. As the AIP-120 discussion showed, that > > causes confusion: about what is being decided, about who is > > affected, and about which kind of vote applies. An AIP vote on a > > code change lets a single binding -1 block it, while a decision > > about how the project operates is a procedural, majority vote [3]. > > > > Moving them to their own section makes the AIP list again what the > > AIP page says it is: changes to Airflow itself and its public > > interfaces. > > > > What I propose > > -------------- > > > > 1. A new wiki section, next to the AIPs: "ADIP - Airflow Development > > Improvement Proposals". The name is a placeholder; if you have a > > better one, say so in this thread and we will go with the one most > > people prefer. > > > > 2. ADIPs cover proposals that only change how the project is > > developed, tested and built: CI, the development environment, > > static checks, test infrastructure and the infrastructure that > > runs CI. Anything that affects users (installation, images, > > providers, public interfaces) stays an AIP. > > > > 3. ADIPs are decided like any other decision about how the project > > operates: discussion on dev@, then [LAZY CONSENSUS] or a > > procedural [VOTE] (majority of binding votes, at least 3 binding > > +1 and more binding +1 than -1) [3]. > > > > 4. The CI / development AIPs listed below move to the new section and > > are renumbered from 1. Nothing about any decision already made > > changes: each page keeps its content, history and discussion > > links. > > > > 5. Old links keep working: > > - every moved page keeps its Confluence page ID, so all > > ".../pages/<id>/..." links (the form used in most of our mails) > > resolve to the moved page; > > - every new title says "(formerly AIP-N)"; > > - a stub page stays under each old title, saying "Moved to > > ADIP-N" and linking to the new page, so links by the old title > > and old bookmarks still land somewhere useful; > > - the old AIP numbers are retired and never reused. > > > > 6. The AIP index page gets a short note pointing to the ADIP section. > > The index lists are generated from page labels, so the moved pages > > get an "adip" label instead of the AIP state labels, and they drop > > out of the AIP lists automatically. > > > > Proposed renames > > ---------------- > > > > Numbered in the order of the original AIP numbers. > > > > ADIP-1 (formerly AIP-4) Automation of System Tests > > was: AIP-4 Automation of System Tests [Deps: AIP-47] > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/93324355 > > > > ADIP-2 (formerly AIP-6) Enforce the usage of a code formatter & linter > > was: AIP-6 Enforce the usage of a code formatter & linter > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/99844429 > > > > ADIP-3 (formerly AIP-7) Simplified development workflow > > was: AIP-7 Simplified development workflow > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/99844641 > > > > ADIP-4 (formerly AIP-9) Automated Dependency Management > > was: AIP-9 Automated Dependency Management > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/100828074 > > > > ADIP-5 (formerly AIP-10) Multi-layered and multi-stage official Airflow > > CI image > > was: AIP-10 Multi-layered and multi-stage official Airflow CI > image > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/100828709 > > > > ADIP-6 (formerly AIP-23) Migrate out of Travis CI > > was: AIP-23 Migrate out of Travis CI > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/122916333 > > > > ADIP-7 (formerly AIP-27) Migrate to pytest > > was: AIP-27 Migrate to pytest > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/132321242 > > > > ADIP-8 (formerly AIP-47) New design of Airflow System Tests > > was: AIP-47 New design of Airflow System Tests > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/199532973 > > > > ADIP-9 (formerly AIP-59) Performance tests framework > > was: AIP-59 Performance tests framework > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/278465469 > > > > ADIP-10 (formerly AIP-118) Self-hosted runners for Apache Airflow CI > > was: AIP-118 Self-hosted runners for Apache Airflow CI > > https://cwiki.apache.org/confluence/x/-JXwGg > > (its appendix page moves with it, as > > "ADIP-9 Appendix - evidence and implementation details") > > > > ADIP-11 (formerly AIP-119) Anomaly monitoring and guardrails for the > > Airflow AWS account > > was: AIP-119 Anomaly monitoring and guardrails for the Airflow > AWS > > account > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/451974695 > > > > ADIP-12 (formerly AIP-120) Run CI for external contributions in > contributor > > forks > > was: AIP-120 Run CI for external contributions in contributor > forks > > > https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/451974711 > > > > These stay AIPs, although they are close to the line, because they > > affect users: AIP-8 (providers as separate packages), AIP-11 (landing > > page), AIP-26 (production Docker image) and AIP-95 (provider > > lifecycle). > > > > AIP-47 (System tests) is the most borderline of the moved items, since > > User docs take their examples from system tests. If you think it, > > or any other entry, belongs on the other side, please say so in the > > thread and I will adjust the list. > > > > The vote proposal > > -------- > > > > This would be a procedural vote: majority of binding votes, at least 3 > > binding +1 and more binding +1 than -1 [3]. Everyone is welcome to > > vote; votes from PMC members are binding. > > > > I realise this is a busy time: the 3.4.0 release vote, provider > > releases, the Summit Reconnect on 4-5 November. If you need more time > > to have a look, say so, and I would like to start a vote on it this week. > > But not by > > much: I fear we will have to act quickly in the "Your PR, your CI" > > area (AIP-120, which would become ADIP-12), given the pressure on the > > shared ASF runners and on our reviewers, and our quest to limit > > big PRs and encourage small ones. > > > > For the same reason, I would like to start the vote on "Your PR, your CI" > > (formerly AIP-120 - possibly future ADIP-12) soon, > > without waiting for this one to complete. The two are > > independent: that vote decides whether we run CI for external > > contributions in contributors' forks; this one only decides where > > such proposals live on the wiki and how they are numbered. > > > > Let me know if that proposal makes sense and whether you have > > any concerns. > > > > J. > > > > [1] https://lists.apache.org/thread/h5qsfqthmsqoh5j7wyy12r90mnnvz8kt > > [2] > > > > > https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals > > [3] https://www.apache.org/foundation/voting.html > > >
