-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
CI runs tests across a disproportionate variety of Windows versions #30367
Comments
Just kinda guessing on the teams here, apologies if I ping the wrong people. |
There is a parallel ask from the robots team on what we actually need from the support matrix: https://github.com/elastic/observability-robots/issues/1038 There are two questions here:
My personal opinion is that PRs should only test against the single most common or important version of each major operating system: Windows, Linux, and Mac. The full support matrix could be covered by some other scheduled job. This could be nightly, but it can be more frequent then that (every 2-4 hours for example so we get multiple builds during working hours for everyone). Others may have a different opinion, or there may be beats that need exhaustive OS testing that this doesn't work for. |
Strong agree here, yah. It looks like windows is the one outlier here, oddly enough. Linux is just running on the 18.04 Ubuntu LTS, and darwin on...whatever version of Darwin we have. |
Old windows versions are now ready to be removed -> #30373 Regarding what to test and when, there were some genuine reasons why those extended stages were added. We tried different approaches:
In my experience, developers tend to think if their PR passes in the CI then it's completed. That was one of the main reasons to enforce mandatory stages to test different OS versions. Might not be ideal, but it reduces the chances of discovering breaking changes when merging into I'd say, this process is owned by the product team, you can decide what to test and when, but the above point is important to be considered as it might require some changes in managing build failures. We can help on the notifications and what data are important to be shown. Thanks for raising this conversation :) |
If we move the others windows into a scheduled job, we would notify both slack channels? |
That's the current approach for the builds running on |
Looking at our matrix we can remove window 7, it's unsupported since 7.14. The remaining Windows can weekly as a regression? WDYT @craig? |
Running the oldest (2016) and the newest (2022) on every PR sounds reasonable. I would rather see the entire set of Windows versions run as a nightly regression test to give us a chance to see and find flaky tests. |
Okay to have it nightly/daily. |
There is some work in progress on this now: #30781 |
I think we can close this now:
Feel free to reopen this if needed |
CC @cmacknz and I think @elastic/observablt-robots ? Not sure.
I was tracking down some flaky tests yesterday when I noticed that the
extended
stage of tests in metricbeat runs across a bizarrely wide array of windows releases:As far as I can tell, these tests are all running. Do we even support 32-bit windows 7? This seems pretty unnecessary to run as part of the normal CI workflow for pull requests, particularly considering that we only run metricbeat's PR CI across one version of Ubuntu and Darwin.
Can we somehow make these
extended
tests run nightly instead of on every PR? This probably isn't helping CI's overall runtime, not to mention resource usage.The text was updated successfully, but these errors were encountered: