jenkinsci / bootstraped-multi-test-results-report-plugin

The project offers the possibility to build test reports using a bootstrap components, offering rendering support on a wide range of devices.
https://plugins.jenkins.io/bootstraped-multi-test-results-report/
MIT License
15 stars 15 forks source link

Release plugin with Java 11 support #110

Closed Metonya closed 1 year ago

Metonya commented 1 year ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.375.3.3 OS: Linux - 3.10.0-1160.53.1.el7.x86_64 Java: 11.0.14 - Red Hat, Inc. (OpenJDK 64-Bit Server VM) --- ace-editor:1.1 ansicolor:1.0.2 ant:481.v7b_09e538fcca antisamy-markup-formatter:159.v25b_c67cd35fb_ apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61 artifactory:3.18.0 async-http-client:1.7.24.3 authentication-tokens:1.4 aws-credentials:191.vcb_f183ce58b_9 aws-java-sdk:1.12.287-357.vf82d85a_6eefd aws-java-sdk-cloudformation:1.12.287-357.vf82d85a_6eefd aws-java-sdk-codebuild:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ec2:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ecr:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ecs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-efs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-elasticbeanstalk:1.12.287-357.vf82d85a_6eefd aws-java-sdk-iam:1.12.287-357.vf82d85a_6eefd aws-java-sdk-logs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-minimal:1.12.287-357.vf82d85a_6eefd aws-java-sdk-sns:1.12.287-357.vf82d85a_6eefd aws-java-sdk-sqs:1.12.287-357.vf82d85a_6eefd aws-java-sdk-ssm:1.12.287-357.vf82d85a_6eefd basic-branch-build-strategies:71.vc1421f89888e blueocean:1.27.1 blueocean-autofavorite:1.2.5 blueocean-bitbucket-pipeline:1.27.1 blueocean-commons:1.27.1 blueocean-config:1.27.1 blueocean-core-js:1.27.1 blueocean-dashboard:1.27.1 blueocean-display-url:2.4.1 blueocean-events:1.27.1 blueocean-git-pipeline:1.27.1 blueocean-github-pipeline:1.27.1 blueocean-i18n:1.27.1 blueocean-jira:1.27.1 blueocean-jwt:1.27.1 blueocean-personalization:1.27.1 blueocean-pipeline-api-impl:1.27.1 blueocean-pipeline-editor:1.27.1 blueocean-pipeline-scm-api:1.27.1 blueocean-rest:1.27.1 blueocean-rest-impl:1.27.1 blueocean-web:1.27.1 bootstrap4-api:4.6.0-5 bootstrap5-api:5.2.1-3 bootstraped-multi-test-results-report:2.1.3 bouncycastle-api:2.27 branch-api:2.1071.v1a_188a_562481 build-token-root:151.va_e52fe3215fc build-user-vars-plugin:1.9 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.8.1 cloudbees-administrative-monitors:1.0.10 cloudbees-analytics:1.46 cloudbees-assurance:2.276.0.28 cloudbees-bitbucket-branch-source:791.vb_eea_a_476405b cloudbees-blueocean-default-theme:0.8 cloudbees-folder:6.800.v71307ca_b_986b cloudbees-folders-plus:3.29 cloudbees-github-reporting:1.32 cloudbees-groovy-view:1.14 cloudbees-ha:4.39 cloudbees-jenkins-advisor:326.v1821e6a_85e3f cloudbees-jsync-archiver:5.25 cloudbees-label-throttling-plugin:3.9 cloudbees-license:9.71 cloudbees-monitoring:2.16 cloudbees-nodes-plus:1.25 cloudbees-platform-common:1.19 cloudbees-platform-data:1.30 cloudbees-plugin-usage:2.17 cloudbees-request-filter:1.7 cloudbees-ssh-slaves:2.19 cloudbees-support:3.31 cloudbees-template:4.59 cloudbees-uc-data-api:4.52 cloudbees-unified-ui:1.24 cloudbees-view-creation-filter:1.9 cloudbees-workflow-template:3.19 cloudbees-workflow-ui:2.10 command-launcher:90.v669d7ccb_7c31 commons-lang3-api:3.12.0-36.vd97de6465d5b_ commons-text-api:1.10.0-27.vb_fa_3896786a_7 conditional-buildstep:1.4.2 config-file-provider:3.11.1 configuration-as-code:1569.vb_72405b_80249 conjur-credentials:1.0.12 copyartifact:681.va_a_298c7f9c01 credentials:1214.v1de940103927 credentials-binding:523.vd859a_4b_122e6 cucumber-reports:5.7.5 dependency-check-jenkins-plugin:5.4.0 display-url-api:2.3.7 docker-commons:1.21 docker-workflow:563.vd5d2e5c4007f durable-task:504.vb10d1ae5ba2f echarts-api:5.4.0-1 email-ext:2.93 envinject:2.901.v0038b_6471582 envinject-api:1.199.v3ce31253ed13 extended-choice-parameter:359.v35dcfdd0c20d external-monitor-job:203.v683c09d993b_9 favorite:2.4.1 file-parameters:285.v757c5b_67a_c25 font-awesome-api:6.2.1-1 fortify:22.1.38 generic-webhook-trigger:1.86.2 git:5.0.0 git-client:4.1.0 git-server:99.va_0826a_b_cdfa_d github:1.36.1 github-api:1.303-400.v35c2d8258028 github-branch-source:1701.v00cc8184df93 gradle:2.3.2 greenballs:1.15.1 groovy:453.vcdb_a_c5c99890 h2-api:1.4.199 handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 hp-application-automation-tools-plugin:7.7 htmlpublisher:1.31 infradna-backup:3.38.60 instance-identity:142.v04572ca_5b_265 ionicons-api:31.v4757b_6987003 ivy:2.4 jackson2-api:2.14.2-319.v37853346a_229 jacoco:3.3.2 jakarta-activation-api:2.0.1-2 jakarta-mail-api:2.0.1-2 javadoc:226.v71211feb_e7e9 javax-activation-api:1.2.0-5 javax-mail-api:1.6.2-8 jaxb:2.3.7-1 jdk-tool:63.v62d2fd4b_4793 jenkins-design-language:1.27.1 jersey2-api:2.38-1 jira:3.9 jjwt-api:0.11.5-77.v646c772fddb_0 job-dsl:1.82 job-import-plugin:3.6 jobConfigHistory:1198.v4d5736c2308c jquery:1.12.4-1 jquery-detached:1.2.1 jquery3-api:3.6.1-2 jsch:0.1.55.61.va_e9ee26616e7 junit:1166.1168.vd6b_8042a_06de kubernetes:3842.v7ff395ed0cf3 kubernetes-client-api:6.4.1-208.vfe09a_9362c2c kubernetes-credentials:0.10.0 ldap:659.v8ca_b_a_fe79fa_d mailer:438.v02c7f0a_12fa_4 mapdb-api:1.0.9-28.vf251ce40855d matrix-auth:3.1.6 matrix-project:785.v06b_7f47b_c631 maven-plugin:3.20 mercurial:1260.vdfb_723cdcc81 metrics:4.2.13-420.vea_2f17932dd6 mina-sshd-api-common:2.9.2-50.va_0e1f42659a_a mina-sshd-api-core:2.9.2-50.va_0e1f42659a_a mina-sshd-api-scp:2.9.2-50.va_0e1f42659a_a mina-sshd-api-sftp:2.9.2-50.va_0e1f42659a_a momentjs:1.1.1 msbuild:1.30 nectar-license:8.41 nectar-rbac:5.79 nested-view:1.28 node-iterator-api:49.v58a_8b_35f8363 nodejs:1.5.1 okhttp-api:4.9.3-108.v0feda04578cf openshift-client:1.0.38 operations-center-agent:2.375.1.1 operations-center-client:2.375.1.1 operations-center-cloud:2.375.1.3 operations-center-context:2.375.1.4 pam-auth:1.10 parameterized-scheduler:1.2 parameterized-trigger:2.45 performance:918.v5511b_a_d40338 persistent-parameter:1.3 pipeline-aws:1.43 pipeline-build-step:487.va_823138eee8b_ pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:629.vb_5627b_ee2104 pipeline-input-step:466.v6d0a_5df34f81 pipeline-maven:1274.v870c8cb_fa_369 pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2121.vd87fb_6536d1e pipeline-model-definition:2.2118.v31fd5b_9944b_5 pipeline-model-extensions:2.2118.v31fd5b_9944b_5 pipeline-rest-api:2.30 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2121.vd87fb_6536d1e pipeline-stage-view:2.30 pipeline-utility-steps:2.15.0 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:2.20.0 popper-api:1.16.1-3 popper2-api:2.11.6-2 pubsub-light:1.17 rebuild:1.34 resource-disposer:0.21 run-condition:1.5 s3:0.12.3436.v674b_46258039 saml:4.385.v4dea_91565e9d scm-api:631.v9143df5b_e4a_a script-security:1229.v4880b_b_e905a_6 simple-theme-plugin:146.v0e67db_a_9052e snakeyaml-api:1.33-90.v80dcb_3814d35 sonar:2.15 splunk-devops:1.10.1 sse-gateway:1.26 ssh-agent:295.v9ca_a_1c7cc3a_a_ ssh-credentials:305.v8f4381501156 sshd:3.275.v9e17c10f2571 stashNotifier:1.28 structs:324.va_f5d6774f3a_d support-core:1244.vceb_57079258a timestamper:1.21 token-macro:321.vd7cc1f2a_52c8 trilead-api:2.84.v72119de229b_7 user-activity-monitoring:1.9 variant:59.vf075fe829ccb windows-slaves:1.8.1 workflow-aggregator:590.v6a_d052e5a_a_b_5 workflow-api:1208.v0cc7c6e0da_9e workflow-basic-steps:994.vd57e3ca_46d24 workflow-cps:3606.v0b_d8b_e512dcf workflow-cps-checkpoint:2.14 workflow-cps-global-lib:609.vd95673f149b_b workflow-durable-task-step:1223.v7f1a_98a_8863e workflow-job:1268.v6eb_e2ee1a_85a workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:839.v35e2736cfd5c ws-cleanup:0.44 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Jenkins: 2.375.3.3 OS: Linux - 3.10.0-1160.53.1.el7.x86_64 Java: 11.0.14 - Red Hat, Inc. (OpenJDK 64-Bit Server VM)

Reproduction steps

1.Step: Jenkins Upgrade (CloudBees CI Client Controller 2.303.3.3 -> 2.375.3.3) 2.Step: Plugin Upgrade (JUnit Plugin Version 1166.1168.vd6b_8042a_06de) 3.Step: bootstraped-multi-test-results-report plugin upgrade Version 2.2.1 2 2 1 4.Step: bootstraped-multi-test-results-report plugin downgrade 2.1.3 (After Error) 2 1 3

Expected Results

We were expecting the JUnit Report to occur when we updated the Java version from 8 to Java 11 for the Jenkins update.

Actual Results

After upgrading the bootstraped-multi-test-results-report plugin to version 2.2.1, we expected it to work with Java 11, but the Junit report was not generated. Class errors started to appear in the plugin that created this report. junit-reports-with-handlebarstestSuitesOverview

Anything else?

No response

NotMyFault commented 1 year ago

The default branch supports compiling on Java 11 and 17 by now. However, I'm not a maintainer of this plugin, but it's up for adoption, if someone else wants to take over the development and release to the central repository.

BogdanLivadariu commented 1 year ago

@Metonya does the issue happen only on junit reports ? are the rest of the generators working ?

BogdanLivadariu commented 1 year ago

I think the plan would be to move away from JAXB and use other deserialization lib such as jackson which should fix the problem for good

for what its worth, I`ve started working in moving away from jaxb entirely so far 3 modules need to be migrated as they use xml deserialization:

Metonya commented 1 year ago

@Metonya does the issue happen only on junit reports ? are the rest of the generators working ?

After you asked, I saw that we are having the same problem for Cucumber. cucumberproblem

mertdemgarantibbva commented 1 year ago

Thank you for your support. We did our trials with the .hpi you sent after the update. We got the following error messages at the xml parser stage.

14:37:50 [JUnit test report builder] there was an error generating the reports: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "noNamespaceSchemaLocation" (class com.github.bogdanlivadariu.reporting.junit.xml.models.TestSuiteModel), not marked as ignorable (10 known properties: "skipped", "tests", "testcase", "properties", "failures", "errors", "uniqueID", "time", "overallStatus", "name"]) 14:37:50 at [Source: (File); line: 2, column: 287] (through reference chain: com.github.bogdanlivadariu.reporting.junit.xml.models.TestSuiteModel["noNamespaceSchemaLocation"]) 14:37:50 com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)

We cloned the project and edited the xml parser part ourselves.

TestSuiteModel.java

    //    @XmlAttribute
    @JacksonXmlProperty(isAttribute = true)
    private String noNamespaceSchemaLocation;

TestCaseModel.java

private String skipped;

public String getSkipped() {
        return skipped;
    }

Can you add the changes I forwarded to the master?