-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
Describe provider versioning changes with semver #11425
Comments
@ashb - since you seem to be the biggest proponent of the Semver proposal, I think it would be great that you describe the process or at least propose it. There is no big hurry with that, as this will only be needed when we eventually release the final 2.0 packages together with 2.0 release, but it would be great to at least think and propose how the provess will look like from those three perspectives and where we can automate what. It would be great to discuss it upfront before someone attempts to implement it. Would you be ok with leading that part ? |
Sure! I'll start on this on Monday or Tuesday |
Once agreed the process here we will implement it in #11427 |
Per provider, and containing just the sources for that provider (i.e. |
Yep. Agree this is probably the best way. It will be also easier to version the source packages then. We'd have to remove providers from Airflow sdist completely, but that's easy. |
When extras are specifying when airflow is installed, this one triggers installation of dependent packages. Each extra has a set of provider packages that are needed by the extra and they will be installed automatically if this extra is specified. For now we do not add any version specificatiion, until we agree the process in apache#11425 and then we should be able to implement an automated way of getting information about cross-package version dependencies. Fixes: apache#11464
When extras are specifying when airflow is installed, this one triggers installation of dependent packages. Each extra has a set of provider packages that are needed by the extra and they will be installed automatically if this extra is specified. For now we do not add any version specificatiion, until we agree the process in apache#11425 and then we should be able to implement an automated way of getting information about cross-package version dependencies. Fixes: apache#11464
When extras are specifying when airflow is installed, this one triggers installation of dependent packages. Each extra has a set of provider packages that are needed by the extra and they will be installed automatically if this extra is specified. For now we do not add any version specificatiion, until we agree the process in #11425 and then we should be able to implement an automated way of getting information about cross-package version dependencies. Fixes: #11464
Hello everyone here. I wanted to propose some vision of the 'separate provider' versioning that we should implement as part of cleanup and release Google Provider. We are already planning to release 2.0.0 provider for Google as it will contain breaking changes due to non-compatible Python API 2.0 libraries. So we will have a chance to test the extreme version, My proposal:
I think this is a minimal but pretty comprehensive set of things that we have to implement in order start releasing providers independently and more frequently and if we agree that this looks good, I can split it into issues and start implementing it. Let me know what you think @kaxil @ashb @mik-laj @turbaszek @XD-DENG others interested :). |
Sounds good. Two minor comments
Otherwise in total agreement. |
Yep. We currently have the 'versions' field which is an array of versions and we use it to keep list of available versions of the provider (we can use it to select version in the generated docs like in Airflow docs). Sorted in descending order, so we can add the right version as the first entry at the moment we prepare for release.
We have to recreate it anyway because we want to have a separate tag for each provider (yeah a lot of tags). But I am also fine with keeping it as:
I think this is a nice convention to separate version with '/' |
And one more thing. I believe for the new versions of providers we can completely skip the list of added/moved operators in README. Those are useful for Backport providers and possibly for 1.0.0 version, but I think for all the future releases of providers the "ADDITIONAL_INFO.md" content (or renamed to UPDATING) is much more important, and the documentation we have covers the list of classes etc. much better. So we should have link to the documentation here and list of changes from ADDITIONAL_INFO. I think list of commits in each version is useful though. The fact that you can get from the README directly to the commit and see the description of it is really nice (but there is no need to show all the commits which were there for the 1.0.0 version). |
We agreed that provider package versioning needs to be done with semver. We need to work out the way on how this automated versioning would work from those perspectives:
Short documentation about this would be great, before we implement that, so that we know what could be automated and what should be manual work.
We need to agree on:
The text was updated successfully, but these errors were encountered: