potiuk commented on issue #34365:
URL: https://github.com/apache/airflow/issues/34365#issuecomment-1719848479

   > While testing the sources for the Google RC, I see the dependences 
`apache-airflow-providers-common-sql>=1.7.2.dev0`,` apache-airflow>=2.4.0.dev0` 
have a `dev0` suffix in the `setup.cfg` file. Is that expected for RCs? I see 
`apache-airflow` has a `dev0` version suffix in the Amazon RC sources too in 
its `setup.cfg` file.
   > Whereas for earlier released packages e.g. for the Google provider 
`10.8.0` it does NOT have a `dev0` suffix on the Airflow version in its 
setup.cfg file.
   
   Yes. This is all expected (providing that your observations are about the RC 
packages you downloaded from PyPI).
   
   I guess you downloaded the packages from PyPI - but those are not the 
packages that PMC members verify and vote on. They are "Convenience" to test 
and install the packages from PyPI but they are NOT the same as packges we vote 
on.
   
   The RC packages in PyPI are different than the one we have in 
https://dist.apache.org/repos/dist/dev/airflow/providers/ - they differ by the 
RC* suffix and .dev0 dependencies. The packages in 
https://dist.apache.org/repos/dist/dev/airflow/providers/ are the very same 
files we will eventually upload as "x.y.z" packages to PyPI:
   
   There are several different reasons for that process/differences:
   
   1) In PyPI you cannot delete and re-upload package with the same version - 
so for PyPI testing we need to submit RC packages. It is impossible to have 
same package uploaded as RC and final version. So we need to slightly 
(dynamically) modify the packages when we are preparing them for PyPI (but only 
for RC candidates).
   
   2) PIP does not recognize x.y.z.dev0 as `>=x.y.z`. This means that if we 
have two packages released at the same time and one depends on the other 
(happens) we need to dynamically add 'x.y.z.dev0` -> this will make sure that 
we can install the new packages from PyPI (otherwise they would comply that 
there is no `>=x.y.z` package. That''s why for all RCs we add `.dev0` 
dynamically for every dependency where we depend on any `apache-airflow` 
package. Otherwise we would have to first relase (vote and publish) the 
dependent package and only after the the package that depends on it. Ading 
.dev0 in PyPI RCS allows to vote and release such cross-dependent packages 
together.
   
   3) Finally the packages we are voting on (because we do not vote on PyPI 
packages - we vote on the packages in 
https://dist.apache.org/repos/dist/dev/airflow/providers/ ) do not contain 
neither RC nor .dev0, because those are the very packages that we will move to 
https://downloads.apache.org/airflow/providers/ . They are THE SAME packages - 
with checksums and signatures etc. So the packages we VOTE on already have 
final versions, and final dependencies, because those are the packages that 
will become `x.y.z` if they pass the voting. 
   
   So yeah - good points, but everything is perfectly as expected.
   


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