wouldn't that be in conflict with Apache release policy [1] ?
[1] http://www.apache.org/legal/release-policy.html

Indeed, advertising pre-release artifacts is against ASF rules. For example, Flink was asked to remove a link to the Maven snapshot repository from their download page.

However, that does not mean we cannot publish Python artifacts. We just have to clearly mark them for developers only and not advertise them alongside with the official releases.

-Max

On 25.04.19 10:23, Robert Bradshaw wrote:
Don't we push java artifacts to maven repositories as part of the RC
process? And completely unvetted snapshots? (Or is this OK because
they are special opt-in apache-only ones?)

I am generally in favor of the idea, but would like to avoid increased
toil on the release manager.

One potential hitch I see is that current release process updates the
versions to x.y.z (no RC or other pre-release indicator in the version
number) whereas pypi (and other systems) typically expect distinct
(recognizable) version numbers for each attempt, and only the actual
final result has the actual final release version.

On Thu, Apr 25, 2019 at 6:38 AM Ahmet Altay <[email protected]> wrote:

I do not know the answer.I believe this will be similar to sharing the RC 
artifacts for validation purposes and would not be a formal release by itself. 
But I am not an expert and I hope others will share their opinions.

I quickly searched pypi for apache projects and found at least airflow [1] and 
libcloud [2] are publishing rc artifacts to pypi. We can reach out to those 
communities and learn about their processes.

Ahmet

[1] https://pypi.org/project/apache-airflow/#history
[2] https://pypi.org/project/apache-libcloud/#history

On Wed, Apr 24, 2019 at 6:15 PM Michael Luckey <[email protected]> wrote:

Hi,

wouldn't that be in conflict with Apache release policy [1] ?

[1] http://www.apache.org/legal/release-policy.html

On Thu, Apr 25, 2019 at 1:35 AM Alan Myrvold <[email protected]> wrote:

Great idea. I like the RC candidates to follow as much as the release artifact 
process as possible.

On Wed, Apr 24, 2019 at 3:27 PM Ahmet Altay <[email protected]> wrote:

To clarify my proposal, I am proposing publishing to the production pypi 
repository with an rc tag in the version. And in turn allow users to depend on 
beam's rc version + all the other regular dependencies users would have 
directly from pypi.

Publishing to test pypi repo would also be helpful if test pypi repo also 
mirrors other packages that exist in the production pypi repository.

On Wed, Apr 24, 2019 at 3:12 PM Pablo Estrada <[email protected]> wrote:

I think this is a great idea. A way of doing it for python would be by using 
the test repository for PyPi[1], and that way we would not have to do an 
official PyPi release, but still would be able to install it with pip (by 
passing an extra flag), and test.

In fact, there are some Beam artifacts already in there[2]. At some point I 
looked into this, but couldn't figure out who has access/the password for it.


I also don't know who owns beam package in test pypi repo. Does anybody know?



In short: +1, and I would suggest using the test PyPi repo to avoid publishing 
to the main PyPi repo.
Best
-P.

[1] https://test.pypi.org/
[2] https://test.pypi.org/project/apache-beam/

On Wed, Apr 24, 2019 at 3:04 PM Ahmet Altay <[email protected]> wrote:

Hi all,

What do you think about the idea of publishing pre-release artifacts as part of 
the RC emails?

For Python this would translate into publishing the same artifacts from RC email with a 
version like "2.X.0rcY" to pypi. I do not know, but I am guessing we can do a 
similar thing with Maven central for Java artifacts as well.

Advantages would be:
- Allow end users to validate RCs for their own purposes using the same exact 
process they will normally use.
  - Enable early-adaptors to start using RC releases early on in the release 
cycle if that is what they would like to do. This will in turn reduce time 
pressure on some releases. Especially for cases like someone needs a release to 
be finalized for an upcoming event.

There will also be disadvantages, some I could think of:
- Users could request support for RC artifacts. Hopefully in the form of 
feedback for us to improve the release. But it could also be in the form of 
folks using RC artifacts for production for a long time.
- It will add toil to the current release process, there will be one more step 
for each RC. I think for python this will be a small step but nevertheless it 
will be additional work.

For an example of this, you can take a look at tensorflow releases. For 1.13 
there were 3 pre-releases [1].

Ahmet

[1] https://pypi.org/project/tensorflow/#history

Reply via email to