This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 600cca1978 Add description of the provider suspension process (#30359)
600cca1978 is described below

commit 600cca197881e3c7d394578d504b77ad7a2eebcc
Author: Jarek Potiuk <[email protected]>
AuthorDate: Tue Apr 4 18:05:42 2023 +0200

    Add description of the provider suspension process (#30359)
    
    Following discussion at the devlist, we are adding description
    of the suspension process for providers that hold us back from
    upgrading old dependencies. Discussion here:
    
    https://lists.apache.org/thread/j98bgw9jo7xr4fvjh27d6bfoyxr1omcm
    
    Co-authored-by: Daniel Standish 
<[email protected]>
---
 README.md | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/README.md b/README.md
index 0852d40416..ceb079fc3f 100644
--- a/README.md
+++ b/README.md
@@ -404,6 +404,8 @@ might decide to add additional limits (and justify them 
with comment)
 
 ## Release process for Providers
 
+### Minimum supported version of Airflow
+
 Providers released by the community (with roughly monthly cadence) have
 limitation of a minimum supported version of Airflow. The minimum version of
 Airflow is the `MINOR` version (2.2, 2.3 etc.) indicating that the providers
@@ -424,6 +426,8 @@ will be able to use the new version without breaking their 
workflows. When we up
 2.2+, our approach was different but as of 2.3+ upgrade (November 2022) we 
only bump `MINOR` version of the
 provider when we increase minimum Airflow version.
 
+### Mixed governance model
+
 Providers are often connected with some stakeholders that are vitally 
interested in maintaining backwards
 compatibilities in their integrations (for example cloud providers, or 
specific service providers). But,
 we are also bound with the [Apache Software Foundation release 
policy](https://www.apache.org/legal/release-policy.html)
@@ -473,6 +477,38 @@ of the contributors to perform the cherry-picks and 
carry-on testing of the olde
 The availability of stakeholder that can manage "service-oriented" maintenance 
and agrees to such a
 responsibility, will also drive our willingness to accept future, new 
providers to become community managed.
 
+### Suspending releases for providers
+
+In case a provider is found to require old dependencies that are not 
compatible with upcoming versions of
+the Apache Airflow or with newer dependencies required by other providers, the 
provider's release
+process can be suspended.
+
+This means:
+
+* The provider's status is set to "suspended"
+* No new releases of the provider will be made until the problem with 
dependencies is solved
+* Sources of the provider remain in the repository for now (in the future we 
might add process to remove them)
+* No new changes will be accepted for the provider (other than the ones that 
fix the dependencies)
+* The provider will be removed from the list of Apache Airflow extras in the 
next Airflow release
+  (including patch-level release if it is possible/easy to cherry-pick the 
suspension change)
+* Tests of the provider will not be run on our CI (in main branch)
+* Dependencies of the provider will not be installed in our main branch CI 
image nor included in constraints
+* We can still decide to apply security fixes to released providers - by 
adding fixes to the main branch
+  but cherry-picking, testing and releasing them in the patch-level branch of 
the provider similar to the
+  mixed governance model described above.
+
+The suspension may be triggered by any committer after the following criteria 
are met:
+
+* The maintainers of dependencies of the provider are notified about the issue 
and are given a reasonable
+  time to resolve it (at least 1 week)
+* Other options to resolve the issue have been exhausted and there are good 
reasons for upgrading
+  the old dependencies in question
+* Explanation why we need to suspend the provider is stated in a public 
discussion in the devlist. Followed
+  by LAZY CONSENSUS or VOTE (with the majority of the voters agreeing that we 
should suspend the provider)
+
+The suspension will be lifted when the dependencies of the provider are made 
compatible with the Apache
+Airflow and with other providers.
+
 ## Contributing
 
 Want to help build Apache Airflow? Check out our [contributing 
documentation](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst).

Reply via email to