-
Task
-
Resolution: Fixed
-
Minor
-
None
-
Powered by SuggestiMate
First issue is to get this plugin building.
I am new to the Jenkins org so please comment if you know something, I might not.
The last build I see is:
https://ci.jenkins.io/blue/organizations/jenkins/Plugins%2Fconfigurationslicing-plugin/detail/master/2/pipeline
oleg_nenashev Is this a failure in the plugin build or the build system itself? I can't see any log indicating what failed on the plugin side of things.
[JENKINS-61827] Get configurationslicing-plugin to build in CI
Ok, so update.
Fixed an issue where JDK was not defined. Now I am stuck at RequireUpperBoundDeps error. I upgraded to my understanding all the plugin dependencies. But it still fails. Is there some tool to evaluate? Or could someone explain how I am suppose to understand what needs to be fixed?
Its a long list which is available here:
https://ci.jenkins.io/blue/organizations/jenkins/Plugins%2Fconfigurationslicing-plugin/detail/devel/2/pipeline
[INFO] Building Configuration Slicing plugin 1.49 [2020-04-10T17:47:09.367Z] [INFO] --------------------------------[ hpi ]--------------------------------- [2020-04-10T17:48:33.694Z] [INFO] [2020-04-10T17:48:33.694Z] [INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ configurationslicing --- [2020-04-10T17:48:33.694Z] [INFO] [2020-04-10T17:48:33.694Z] [INFO] --- maven-hpi-plugin:3.11:validate (default-validate) @ configurationslicing --- [2020-04-10T17:48:33.694Z] [INFO] [2020-04-10T17:48:33.694Z] [INFO] --- maven-enforcer-plugin:3.0.0-M3:display-info (display-info) @ configurationslicing --- [2020-04-10T17:48:33.694Z] [INFO] Maven Version: 3.6.3 [2020-04-10T17:48:33.694Z] [INFO] JDK Version: 1.8.0_242 normalized as: 1.8.0-242 [2020-04-10T17:48:33.694Z] [INFO] OS Info: Arch: amd64 Family: unix Name: linux Version: 4.15.0-1063-aws [2020-04-10T17:48:33.694Z] [INFO] [2020-04-10T17:48:33.694Z] [INFO] --- maven-enforcer-plugin:3.0.0-M3:enforce (display-info) @ configurationslicing --- [2020-04-10T17:48:35.015Z] [INFO] Adding ignore: module-info [2020-04-10T17:48:35.848Z] [WARNING] Rule 4: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message: [2020-04-10T17:48:35.848Z] Failed while enforcing RequireUpperBoundDeps. The error(s) are [ [2020-04-10T17:48:35.848Z] Require upper bound dependencies error for org.jenkins-ci.plugins:junit:1.20 paths to dependency are: [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:matrix-project:1.14 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:junit:1.20 [2020-04-10T17:48:35.848Z] and [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.main:maven-plugin:3.5 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:junit:1.6 [2020-04-10T17:48:35.848Z] and [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:email-ext:2.69 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:junit:1.2 [2020-04-10T17:48:35.848Z] and [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:logstash:2.3.2 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:junit:1.10 [2020-04-10T17:48:35.848Z] and [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:claim:2.16 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:junit:1.28 [2020-04-10T17:48:35.848Z] , [2020-04-10T17:48:35.848Z] Require upper bound dependencies error for org.jenkins-ci.plugins:structs:1.17 paths to dependency are: [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.848Z] +-org.jenkins-ci.plugins:ant:1.11 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.17 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:email-ext:2.69 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.17 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:gradle:1.36 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.20 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:logstash:2.3.2 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.14 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:config-file-provider:3.6.3 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.14 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins.workflow:workflow-cps:2.80 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.20 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins.workflow:workflow-multibranch:2.21 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.17 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:matrix-project:1.14 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:junit:1.20 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.2 [2020-04-10T17:48:35.849Z] and [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:configurationslicing:1.49 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:gradle:1.36 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins.workflow:workflow-api:2.37 [2020-04-10T17:48:35.849Z] +-org.jenkins-ci.plugins:structs:1.17 [2020-04-10T17:48:35.849Z] and
Ok, got it working,
I have a feeling most java devs know this, but I am documenting it here anyway.
The issue is that maven-enforcer-plugin finds multiple leafs in the dependency tree that have different version, and you have to specify each version, prefebly the latest. You can find them by searching at: https://mvnrepository.com/
Then you can look in the maven tab for the right dependency entry.
Then you can test locally by running in the plugin folder:
mvn validate
Now however I can't build because the CI seems to be stuck, the nodes that builds return:
(node url: https://ci.jenkins.io/computer/EC2%20(aws)%20-%20High%20memory%20ubuntu%2018.04%20%20(i-0785c260cbb2a05fa)/ )
java.io.EOFException at java.base/java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2818) at java.base/java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3313) at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:907) at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:350) at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:49) at hudson.remoting.Command.readFrom(Command.java:142) at hudson.remoting.Command.readFrom(Command.java:128) at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:63) Caused: java.io.IOException: Unexpected termination of the channel at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:77)
Ok it works now, but I have compile errors:
[INFO] 3 errors [INFO] ------------------------------------------------------------- [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 14.306 s [INFO] Finished at: 2020-05-18T10:30:18+03:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project configurationslicing: Compilation failure: Compilation failure: [ERROR] /home/guy/workspace/configurationslicing-plugin/src/main/java/configurationslicing/tools/GradleSlicer.java:[52,52] cannot find symbol [ERROR] symbol: method getDescription() [ERROR] location: variable oldGradle of type hudson.plugins.gradle.Gradle [ERROR] /home/guy/workspace/configurationslicing-plugin/src/main/java/configurationslicing/tools/GradleSlicer.java:[57,50] cannot find symbol [ERROR] symbol: method isFromRootBuildScriptDir() [ERROR] location: variable oldGradle of type hudson.plugins.gradle.Gradle [ERROR] /home/guy/workspace/configurationslicing-plugin/src/main/java/configurationslicing/tools/GroovySlicer.java:[57,20] cannot find symbol [ERROR] symbol: variable DESCRIPTOR [ERROR] location: class hudson.plugins.groovy.Groovy [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Ok,
I had to hack stuff off,
There was a use of StringParameterValue.value, which I had to remove for this to compile, and re-write the gradle slicer constructor.
The following test now fails "InjectedTest":
INFO] Running InjectedTest [ERROR] Tests run: 12, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 15.106 s <<< FAILURE! - in InjectedTest [ERROR] org.jvnet.hudson.test.PluginAutomaticTestBuilder$OtherTests.testPluginActive Time elapsed: 0.011 s <<< ERROR! java.lang.Error: Plugin claim failed to start at org.jvnet.hudson.test.PluginAutomaticTestBuilder$OtherTests.testPluginActive(PluginAutomaticTestBuilder.java:99) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at junit.framework.TestCase.runTest(TestCase.java:177) at junit.framework.TestCase.runBare(TestCase.java:142) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:130) at junit.framework.TestSuite.runTest(TestSuite.java:241) at junit.framework.TestSuite.run(TestSuite.java:236) at org.jvnet.hudson.test.junit.GroupedTest.runGroupedTests(GroupedTest.java:67) at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite.doTests(JellyTestSuiteBuilder.java:152) at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite.access$100(JellyTestSuiteBuilder.java:138) at org.jvnet.hudson.test.JellyTestSuiteBuilder$JellyTestSuite$2.call(JellyTestSuiteBuilder.java:160) at org.jvnet.hudson.test.HudsonTestCase$WebClient$5.run(HudsonTestCase.java:1516) at org.jvnet.hudson.test.ClosureExecuterAction.doIndex(ClosureExecuterAction.java:53) at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710) at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145) at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676) at org.kohsuke.stapler.Stapler.service(Stapler.java:238) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1363) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1278) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:500) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.io.IOException: Jenkins Claim Plugin version 2.16 failed to load. - Jenkins Mailer Plugin version 1.18 is older than required. To fix, install version 1.23 or later. at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:932) at hudson.PluginManager$2$1$1.run(PluginManager.java:546) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1121) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ... 1 more
It does not look to be a build system issues. There is an initialization error in the dependency plugin: https://ci.jenkins.io/blue/organizations/jenkins/Plugins%2Fconfigurationslicing-plugin/detail/master/2/tests . logfilesizechecker startup fails with NPE within the test.
I cannot say for sure what is the root cause, I may need to dive into the code. A general advice is to update Plugin POM and dependencies to get a newer test environment and to ensure it is not a historical issue. Some issues may go away after that so that you do not spend time on investigating.