Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update release process for Providers #24680

Merged
merged 1 commit into from
Jul 3, 2022
Merged

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Jun 27, 2022

This release process updates Provider's release approach and
"mixed-governance" model after the discussion and proposal

https://lists.apache.org/thread/6ngq79df7op541gfwntspdtsvzlv1cr6


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragement file, named {pr_number}.significant.rst, in newsfragments.

Copy link
Contributor

@BasPH BasPH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find it hard to wrap my head around what I'm reading. What is the message you want to convey here?

I'd explain the branching model as discussed in https://lists.apache.org/thread/6ngq79df7op541gfwntspdtsvzlv1cr6, perhaps with a picture. And are there resources/channels for the reading of this document to read/ask? E.g. say I'd have a question about the release of a PR in the Google provider, what would I do?

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@o-nikolas o-nikolas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks so much for this Jarek!

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@potiuk
Copy link
Member Author

potiuk commented Jun 28, 2022

I find it hard to wrap my head around what I'm reading. What is the message you want to convey here?

Ok. Cool. I am happy to iterate on it to make it better :).

This is indeed not easy task, but the mssage I want to convey is:

  1. In some cases we want to release past providers (when there is someone to drive the cherry-picking and those who drive cherry-picking are not maintainers
  2. when this cherry-picking stops, maintainers have no obligationas to release those older versions of providers
  3. this is a process that will likely apply to those providers that have strong stakeholders behind (but maybe I was not clear this is not a prerequisite) - anyone can step-up and - and commit to maintaining older version of provider and cherry-pick changes (via PR).
  4. users can expect that in some cases (when somoene steps up) there might be older backwards-compatible versions of the providers
  5. those stakeholders who want to contribute new community airfflow providers have to think twice knowing that we have some expectation about future maintenance of those

I'd explain the branching model as discussed in https://lists.apache.org/thread/6ngq79df7op541gfwntspdtsvzlv1cr6, perhaps with a picture. And are there resources/channels for the reading of this document to read/ask? E.g. say I'd have a question about the release of a PR in the Google provider, what would I do?

I wanted to avoid going into too many details, those are mostly technicalities and we are already doing the very same process for v2* branches of airlfow - here just branching point and branch name is different. I might modify it and merge the policy first and then turn it into a "dev recipe" on how to do it (as usual - I have a habit of meticulously detailing the technical processes we follow - but that belongs to "dev" rather than README and I wanted to separate those two - and document the "technical" side of the process after we do it for the first time (because otherwise it will be a little guessing and will have many more mistakes.
But I will just add that we use the same process as when cherry-picking to v2* branches of Airflow

There is no "special" handling or questions about released providers. This does not introduce a new way of answering the questions "what is in provider of version x" comparing to today. Say - you want to get answers about what is in 7.0.0 version of Google Provider - you will find it here: https://airflow.apache.org/docs/apache-airflow-providers-google/7.0.0/index.html#changelog . If we release 7.1.0, it will be https://airflow.apache.org/docs/apache-airflow-providers-google/7.1.0/index.html#changelog (now defunct). The index of those is built automatically. And SemVer answer all the questions about backwards compatibility/features of each of providers, so the user can decide which version to upgrade to (if they upgrade providers separately):

  • 7.1.0 - if they care about backwards-compatibility and they need bug-fix released in 7.1.0 (cherry-picked from 8.0.0)
  • 8.0.0 - if they care about new features/bugfixes that were not released in 7.1.0

No change in communication there - except that we will be announcing in some cases 2 version of "the same" provider instead of one at the same time. There are no changes at all to Airlfow's approach - we always use the "latest released" providers when releasing new version of Airlfow.

@potiuk
Copy link
Member Author

potiuk commented Jun 28, 2022

I pushed a fixup with all those comments so far addressed (hopefully)

@potiuk
Copy link
Member Author

potiuk commented Jun 29, 2022

@BasPH -> is that at least slightly better now ?

Copy link
Contributor

@BasPH BasPH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, much more concrete now! I've added a few smaller comments, but the general message lgtm.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link

@shubham22 shubham22 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for drafting this Jarek! A big step in the right direction.

README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Show resolved Hide resolved
This release process updates Provider's release approach and
"mixed-governance" model after the discussion and proposal

https://lists.apache.org/thread/6ngq79df7op541gfwntspdtsvzlv1cr6
@potiuk
Copy link
Member Author

potiuk commented Jul 1, 2022

OK. If there are no more comments - I 'd love an approval and we can continue with preparing next provider release following it - I will ping the contributors to past versions that I know are interested in following it up.

@potiuk
Copy link
Member Author

potiuk commented Jul 2, 2022

Anyone? I'd love to announce merging it and resolving the "lasy consensus" thread :)

@BasPH BasPH merged commit f1a9a9e into apache:main Jul 3, 2022
@potiuk potiuk deleted the providers-policy branch July 29, 2022 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants