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

Reply via email to