-
Notifications
You must be signed in to change notification settings - Fork 186
Skip build and test on OSes that have no changes #2764
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
base: master
Are you sure you want to change the base?
Skip build and test on OSes that have no changes #2764
Conversation
7fddc90 to
bbc0b9d
Compare
Rather than a single matrix that covers all OSes, split them up so that enumerating different ones is a little easier. This has three benefits: 1. `matrix.exclude` is easier to write in this format 2. Tools like `act` work with simple string matrix dimensions (see new comment at top of maven.yml) 3. conditional execution on file name pattens are easier to implement (see subsequent PR on this topic) Part of eclipse-platform#2714
Many of the PRs on SWT are OS specific, this change only runs the build on OSes if there are changes that can affect that OS. This is going to be more important with eclipse-platform#2714 because potentially a number of new jobs will be run per PR and avoiding some of the extra time waiting will be a benefit to all. The minor negative of skipping tests conditionally is that the **Test Results** summary comment will report less runs that base commit. Part of eclipse-platform#2714
bbc0b9d to
73e542b
Compare
I put together an example of what this looks like on my fork. I pushed this commit as my master HEAD, and then made three PRs:
You end up with, for example, on win32 this output:
It shows number of tests/runs down compared to master because so many tests were skipped, but it still shows 0 failures as expected. Further down you can see the non-win32 runs are skipped
|
|
I totally like the idea of skipping tests for OSes that are not affected by a change. I am just a bit concerned about the condensed test results posted by the bot being rendered less useful. Maybe we could check if we can adapt that the results to be separated by OS, such that you can easily and properly compare for the OS(es) of interest for the current PR. Edit: just saw that Christoph already made a similar comment: #2762 (comment) |
|
I am going to split this PR out from the rest of them for #2741 |
As mentioned on the other PR (sorry for confusion!) I think we then better should have three check runs for all three oss to prevent the problem you see with the test drops and then have one comment for each os e.g.
beside that I'm wondering if it really pay off much to skip the tests, the Jenkins if often the slowest one and Github has completed most often much earlier anyways. Also I'm wondering what happens with changes to the common parts of SWT that can change behavior on other OS of course as well. |
From my understanding, there is a classification for those changes that enables all OS builds via
Even though this is often the case, in my experience "often" rather means 60% of the cases than 90%, so avoiding unnecessary GHA runs will my in opinion still increase the average roundtrip time. And I see at least two further reasons to do this:
|
|
@laeubi / @HeikoKlare thanks for your input - I agree and will see if I have time to bring this to a conclusion.
Yes, that is correct, anything that isn't in the platform specific changes (e.g |
As part of working on eclipse-platform#2764 I was considering how to display badges going forward to align with test results per platform. As it turns out the "SWT Matrix Tests" has been stuck on an arbitrary old badge for many years now. This PR updates it, but as it has been wrong for a long time, perhaps removing it entirely makes more sense, but for now I update it. There was push back in eclipse-platform#1897 against removing it. Part of eclipse-platform#2714
As part of working on #2764 I was considering how to display badges going forward to align with test results per platform. As it turns out the "SWT Matrix Tests" has been stuck on an arbitrary old badge for many years now. This PR updates it, but as it has been wrong for a long time, perhaps removing it entirely makes more sense, but for now I update it. There was push back in #1897 against removing it. Part of #2714


Many of the PRs on SWT are OS specific, this change only runs the build on OSes if there are changes that can affect that OS.
This is going to be more important with #2714 because potentially a number of new jobs will be run per PR and avoiding some of the extra time waiting will be a benefit to all.
The minor negative of skipping tests conditionally is that the Test Results summary comment will report less runs that base commit.
Part of #2714