form round trip tests fail after upgrading to jenkins version 1.642.3

20 visualizações
Pular para a primeira mensagem não lida

Martin Weber

não lida,
20 de mar. de 2018, 16:00:4920/03/2018
para Jenkins Developers
To implement pipeline compatibility for the cmakebuilder plugin[1], I changed
the required jenkins version from 1.580.3 to 1.643.3.
Parent pom version is 2.7.

With 1.643.3, my form-round-trip tests [2] fail with 'internal server error'.
I also ran the test from eclipse, which gave me some more output in the
console:

INFO: Started @11170ms
=== Starting
checkValidation(hudson.plugins.cmake.CmakeBuilderFormRoundTripTest)
Mar 20, 2018 8:54:55 PM hudson.ExpressionFactory2$JexlExpression evaluate
WARNING: Caught exception evaluating: i.descriptor in /jenkins/job/test0/
configure. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:
125)
...
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.AssertionError: class hudson.plugins.cmake.CmakeBuilder
is missing its descriptor
at jenkins.model.Jenkins.getDescriptorOrDie(Jenkins.java:1223)
at hudson.tasks.Builder.getDescriptor(Builder.java:67)
at hudson.plugins.cmake.CmakeBuilder.getDescriptor(CmakeBuilder.java:395)


Can someone please explain whats going wrong/different with 1.643.3 and give
me some hints how to fix the test?

TIA,
Martin

[1] https://github.com/jenkinsci/cmakebuilder-plugin
[2] <https://github.com/jenkinsci/cmakebuilder-plugin/blob/
994787a44529895ba4af766f5b5d7491339fb417/src/test/java/hudson/plugins/cmake/
CmakeBuilderFormRoundTripTest.java#L21<
--
E-Mails sollten Text sein, Text und nur Text.
Wenn Gott gewollt hätte, dass E-Mails in HTML geschrieben würden,
endeten Gebete traditionell mit </amen>.

Joseph P

não lida,
20 de mar. de 2018, 16:18:4520/03/2018
para Jenkins Developers
It is in the error stack. Your builder is missing its descriptor implementation class.

Read this.
https://jenkins.io/doc/developer/plugin-development/pipeline-integration/

Joseph P

não lida,
20 de mar. de 2018, 18:06:3920/03/2018
para Jenkins Developers
Your implementation of a separate step and using workflow plugin seems overkill to support pipeline.

All you need is for your builder to implement SimpleBuildStep and provide the descriptor with a simple

/Joseph

Joseph P

não lida,
20 de mar. de 2018, 19:14:1320/03/2018
para Jenkins Developers

Jesse Glick

não lida,
21 de mar. de 2018, 10:53:0821/03/2018
para Jenkins Dev
On Tue, Mar 20, 2018 at 7:14 PM, Joseph P <jose...@gmail.com> wrote:
> implementing SimpleBuildStep is the easiest and fastest way to get going

As I wrote in the PR, this is probably not what you want at all.

Martin Weber

não lida,
21 de mar. de 2018, 15:38:2621/03/2018
para jenkin...@googlegroups.com
Am Dienstag, 20. März 2018, 21:18:45 CET schrieb Joseph P:
> It is in the error stack. Your builder is missing its descriptor
> implementation class.

Sorry if I hadn't been precise enough, but I get that error on the master
branch (no pipeline support) if I just change jenkins version from 1.580.3 to
1.643.3.

Martin

Martin Weber

não lida,
21 de mar. de 2018, 15:38:2921/03/2018
para jenkin...@googlegroups.com
I already had it based on SimpleBuildStep in a different branch, but was
advised to do not use it.

Martin Weber

não lida,
22 de mar. de 2018, 17:35:1722/03/2018
para jenkin...@googlegroups.com
Am Dienstag, 20. März 2018, 21:00:31 CET schrieb Martin Weber:
> To implement pipeline compatibility for the cmakebuilder plugin[1], I
> changed the required jenkins version from 1.580.3 to 1.642.3.
> Parent pom version is 2.7.
>
> With 1.643.3, my form-round-trip tests [2] fail with 'internal server
> error'. I also ran the test from eclipse, which gave me some more output in

I examined this a little further.
To be precise: Code base was unchanged, just the jenkins version changed.
I always ran 'mvn clean verify'.

For the records, here is what I did:

1.580.3 --> 1.642.3: BUILD FAILURE
1.642.3 --> 1.642.1: BUILD SUCCESS
1.643.1 --> 1.642.2: BUILD SUCCESS
1.643.2 --> 1.642.3: BUILD SUCCESS (what?)

removed org.jenkins-ci directory from local maven cache --> BUILD SUCCESS???
removed org.jenkins-ci directory from cache; 1.580.3 --> BUILD SUCCESS (as
expected)
1.580.3 --> 1.642.3: BUILD SUCCESS
removed org.jenkins-ci/main/core/1.580.3 directory from cache

Weird.

/Martin
Responder a todos
Responder ao autor
Encaminhar
0 nova mensagem