-
Notifications
You must be signed in to change notification settings - Fork 53
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
Require a minimum version of the Jenkins Test Harness #489
Conversation
e4fff02
to
a5ac3f5
Compare
Passing |
d628f28
to
5ad3916
Compare
BOM test running at jenkinsci/bom#1860 with new releases of |
jenkinsci/bom#1860 passed. |
5ad3916
to
89a6e69
Compare
@jtnord ? |
89a6e69
to
589700b
Compare
As the linked PR shows the build fails. Most likely as the new version of the test harness brings in a new dependency - junit5 and then junit4 tests are not run unless the legacy provider is also on the classpath which it may not be. Additionally some plugins have issues due to the non backward compatible nature of the j-t-h as noticed in the OSS build requiring changes and our internal build. Is there any references to the breaking builds caused by the jth and Jenkins incompatibility? I am aware Given the j-t-h is not required to keep binary compatibility, nor are reviewers looking at it (rather expecting plugins to adopt as an when they upgrade) doing this in the PCT seems likely to introduce as many errors as it may fix |
Part of it is to get HTMLUnit fixes, but part of it is also to have a consistent and up-to-date build environment for running tests. For example, recent test harnesses test with Jetty 10 which is also used in recent core releases. Assuming a relatively stable parent POM, a consistent and up-to-date test harness seems more of a benefit than a hindrance to me. Anyway, I am not going to wrestle with you about this. I would like this in |
sure. |
This is a good point and I think highlights another angle to |
@jtnord Take a look at the latest commit; this only upgrades the test harness to a JUnit 5 requiring version if the plugin parent POM supports it. Does this bring the number of CloudBees internal failures down to a number low enough that you might reconsider adopting this? |
PS: If it doesn't, I can keep raising the minimum plugin parent POM version that this applies to until you get zero failures. The point is this design should be able to get you to zero failures on your side, at which point whether or not to exclude the hook is only a question of whether the benefit (which I identified) is worth the cost (which you identified). |
@jtnord of the 6 failures in the internal test run, I just bumped the minimum plugin parent POM version to 4.48 in commit 4f0db2e. That should eliminate the failures in That just leaves |
I give up. |
We often see the need to update the test harness to a newer version when testing new core versions, so enforce a minimum version. This PR refactors the existing code to be more reusable. I tested this by running the
jenkinsci/bom
test suite, with the only two failures being fixed by jenkinsci/workflow-scm-step-plugin#94 and jenkinsci/pipeline-model-definition-plugin#595.