potiuk opened a new pull request, #30421:
URL: https://github.com/apache/airflow/pull/30421

   As agreed in 
https://lists.apache.org/thread/g8b3k028qhzgw6c3yz4jvmlc67kcr9hj we introduce 
mechanism to suspend providers from our suite of providers when they are 
holding us back to older version of dependencies.
   
   Provider's suspension is controlled from a single `suspend` flag in 
`provider.yaml` - this flag is used to generate
   providers_dependencies.json in generated folders (provider is skipped if it 
has `suspended` flag set to `true`. This is enough to exclude provider from the 
extras of airflow and (automatically) from being used when CI image is build 
and constraints are being generated, as well as from provider 
documentation/generation.
   
   Also several parts of the CI build use the flag to filter out such suspended 
provider from:
   
   * verification of provider.yaml files in pre-commit is skipped in terms of 
importing and checking if classes are defined and listed in the provider.yaml
   * the "tests" folders for providers are skipped automatically if the 
provider has "suspend" = true set
   * in case of PR that is aimed to modify suspended providers directory tree 
(when it is not a global provider refactor) selective checks will detect it and 
fail such PR with appropriate message suggesting to fix the reason for 
suspention first
   * documentation build is skipped for suspended providers
   * mypy static checks will skip suspended provider folders while we will 
still run ruff checks on them (unlike mypy ruff does not expect the libraries 
that it imports to be available and we are running ruff in a separate 
environment where no airflow dependencies are installed anyway
   
   <!--
   Thank you for contributing! Please make sure that your code changes
   are covered with tests. And in case of new features or big changes
   remember to adjust the documentation.
   
   Feel free to ping committers for the review!
   
   In case of an existing issue, reference it using one of the following:
   
   closes: #ISSUE
   related: #ISSUE
   
   How to write a good git commit message:
   http://chris.beams.io/posts/git-commit/
   -->
   
   ---
   **^ Add meaningful description above**
   
   Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
 for more information.
   In case of fundamental code changes, an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
 is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party 
License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in a 
newsfragment file, named `{pr_number}.significant.rst` or 
`{issue_number}.significant.rst`, in 
[newsfragments](https://github.com/apache/airflow/tree/main/newsfragments).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to