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