The main concern here seems to be whether using pre-release candidates
would be too disruptive to our workflow. I think this is an easy
hypothesis to test out--we can give using prerelease candidates a try, and
if that indeed turns out to be a problem we can then do the work of
trying to put together a separate test suite (TBD the balance between
coverage and cost).

On Thu, Apr 20, 2023 at 10:20 AM Anand Inguva via dev <dev@beam.apache.org>
wrote:

> Friendly ping:)
>
> If anyone has experience testing the pre-released versions, your feedback
> would be much appreciated.
>
> Thanks,
> Anand
>
>
>
> On Wed, Apr 12, 2023 at 5:07 PM Yi Hu <ya...@google.com> wrote:
>
>> Sounds good, thanks!
>>
>> Best,
>> Yi
>>
>> On Wed, Apr 12, 2023 at 2:20 PM Anand Inguva <ananding...@google.com>
>> wrote:
>>
>>> @Yi Hu <ya...@google.com> I think adding them to Jenkins or github
>>> actions is okay with me. With Github actions, since we don't use self
>>> hosted runners yet, I worry that action workers might get queued up.
>>>
>>> Also, I plan to not run these on every commit but run it as a cron
>>> job(maybe once per day) and also as trigger phrases and only on the lowest
>>> and highest python version. Also, migrating this workflow to jenkins would
>>> be trivial in the future once beam starts the migration. For now, I think
>>> it might be best to run on jenkins.
>>>
>>> On Wed, Apr 12, 2023 at 1:32 PM Valentyn Tymofieiev <valen...@google.com>
>>> wrote:
>>>
>>>> I think case in point dependency that would benefit from this testing
>>>> is grpcio, which includes pre-releases, and broke us and multiple of it's
>>>> released versions were yanked. https://pypi.org/project/grpcio/#history
>>>> .
>>>>
>>>> We can look at how grpcio affected Beam previously. Couple of issues:
>>>>
>>>> - https://github.com/grpc/grpc/issues/30446 -- affected XLang tests
>>>> - https://github.com/apache/beam/issues/23734 -- affected MacOS suites
>>>> - https://github.com/apache/beam/issues/22159 -- (not detected by us,
>>>> but potentially could have affected a performance test).
>>>>
>>>> I'm afraid a dedicated suite may not give us desired test coverage to
>>>> catch regression at RC stage.
>>>>
>>>> On Wed, Apr 12, 2023 at 10:19 AM Yi Hu via dev <dev@beam.apache.org>
>>>> wrote:
>>>>
>>>>> Thanks Anand,
>>>>>
>>>>> This would be very helpful to avoid experiencing multiple time (
>>>>> https://s.apache.org/beam-python-dependencies-pm). One thing to note
>>>>> is that Beam Jenkins CI is experiencing many issues recently, mostly due 
>>>>> to
>>>>> that multiple Jenkins plugins does not scale (draining GitHub API call
>>>>> limit; disk usage, etc) so more PreCommit may add more pressures to 
>>>>> Jenkins
>>>>> if going ahead with Option 1. As we have started GitHub Action migration,
>>>>> is it considered to add these new tests to GitHub Action?
>>>>>
>>>>> Best,
>>>>> Yi
>>>>>
>>>>> On Wed, Apr 12, 2023 at 10:46 AM Danny McCormick via dev <
>>>>> dev@beam.apache.org> wrote:
>>>>>
>>>>>> Thanks for doing this Anand, I'm +1 on option 1 as well - I think
>>>>>> having the clear signal of the normal suite succeeding and the prerelease
>>>>>> one failing would be helpful and there shouldn't be too much additional
>>>>>> code necessary. That makes it really easy to treat the prerelease suite 
>>>>>> as
>>>>>> a (at least temporary) signal on needing upper bounds on our 
>>>>>> dependencies.
>>>>>>
>>>>>> Thanks,
>>>>>> Danny
>>>>>>
>>>>>> On Wed, Apr 12, 2023 at 12:36 AM Anand Inguva via dev <
>>>>>> dev@beam.apache.org> wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> For Apache Beam Python we are considering using pre-released
>>>>>>> dependencies for unit testing by using the --pre flag to install
>>>>>>> pre-released dependencies of packages.
>>>>>>>
>>>>>>> We believe that using pre-released dependencies may help us to
>>>>>>> identify and resolve bugs more quickly, and to take advantage of new
>>>>>>> features or bug fixes that are not yet available in stable releases.
>>>>>>> However, we also understand that using pre-released dependencies may
>>>>>>> introduce new risks and challenges, including potential code duplication
>>>>>>> and stability issues.
>>>>>>>
>>>>>>> Before proceeding, we wanted to get your feedback on this approach.
>>>>>>>
>>>>>>> 1. Create a new PreCommit test suite and a PostCommit test suite
>>>>>>> that runs tests by installing pre-released dependencies.
>>>>>>>
>>>>>>> Pros:
>>>>>>>
>>>>>>>    - stable and pre-released test suites are separate and it will
>>>>>>>    be easier to debug if the pre-released test suite fails.
>>>>>>>
>>>>>>> Cons:
>>>>>>>
>>>>>>>    - More test infra code to maintain. More tests to monitor.
>>>>>>>
>>>>>>>
>>>>>>> 2. Make use of the current PreCommit and PostCommit test suite and
>>>>>>> modify it so that it installs pre-released dependencies.
>>>>>>>
>>>>>>> Pros:
>>>>>>>
>>>>>>>    - Less infra code and less tests to monitor.
>>>>>>>
>>>>>>> Cons:
>>>>>>>
>>>>>>>    - Leads to noisy test signals if the pre-release candidate is
>>>>>>>    unstable.
>>>>>>>
>>>>>>> I am in favor of approach 1 since this approach would ensure that
>>>>>>> any issues encountered during pre-release testing do not impact the 
>>>>>>> stable
>>>>>>> release environment, and vice versa.
>>>>>>>
>>>>>>> If you have experience or done any testing work using pre-released
>>>>>>> dependencies, please let me know if you took any different approaches. 
>>>>>>> It
>>>>>>> will be really helpful.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Anand
>>>>>>>
>>>>>>

Reply via email to