Yup, broadly in agreement too. > On 2 Nov 2026, at 08:05, Vincent Hsiao <[email protected]> wrote: > > 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 >>> >>
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
