-
Notifications
You must be signed in to change notification settings - Fork 39
Description
Jenkins and plugins versions report
Environment
Jenkins: 2.496
Java: 17.0.11 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
Loaded plugins:
checks-api:2.0.0
display-url-api:2.3.6
workflow-step-api:639.v6eca_cd8c04a_a_
jackson2-api:2.15.2-368.vfceee8b_6e8c3
git:5.2.1
github-branch-source:2.9.7
envinject:2.3.0
pipeline-utility-steps:2.7.1
jenkins-test-harness:2460.vf9c91e27b_f32
What Operating System are you using (both controller, and any agents involved in the problem)?
I'm running Jenkins tests locally on a single machine:
Controller: macOS Sequoia 15.5 (Apple M3, arm64)
Agents: None — all tests run locally via Maven
Architecture: Apple Silicon (arm64)
Reproduction steps
-
Clone the plugin repository:
git clone https://github.com/jenkinsci/tekton-client-plugin.git cd tekton-client-plugin -
Ensure Java 17 is installed and
JAVA_HOMEis correctly configured:java -version # should return something like "openjdk version "17.x" -
Run the test suite from a clean state:
mvn clean install
-
Observe that:
- Compilation succeeds
maven-hpi-plugin:validate-hpicompletes without errors- The test phase executes, but one or more tests fail
-
The failing test:
JenkinsFreestyleTest.testFreestyleJobWithComplexYamlInput -
Fails with this error in the logs:
java.lang.Exception: failed to apply tekton catalog to file ... at org.waveywaves.jenkins.plugins.tekton.client.build.create.CreateRaw.processTektonCatalog(CreateRaw.java:612) -
File referenced in the error:
target/tmp/.../workspace/p/tekton-input-pipeline.yaml -
No custom Jenkins configuration, credentials, or user accounts involved — the test was run entirely via the Jenkins Test Harness with default test data.
Expected Results
- The plugin should build and test successfully without any errors.
- All unit tests, including
JenkinsFreestyleTest.testFreestyleJobWithComplexYamlInput, should pass when run in a clean environment using the Jenkins Test Harness. - The Tekton catalog YAML file (
tekton-input-pipeline.yaml) should be applied without throwing exceptions. - Jenkins Freestyle job simulation in the test should complete with a successful build status.
Actual Results
-
The test
JenkinsFreestyleTest.testFreestyleJobWithComplexYamlInputfails during execution. -
The build log shows the following fatal error:
FATAL: class org.waveywaves.jenkins.plugins.tekton.client.build.create.CreateRaw is missing its descriptor -
This means Jenkins could not locate the
Descriptorfor theCreateRawclass, likely due to one of the following:- The class is missing a proper
DescriptorImplimplementation - The
@Extensionannotation is missing on the descriptor - Or the test runtime failed to load the plugin metadata correctly
- The class is missing a proper
-
Additionally, during build, the following warning appears:
[WARNING] The POM for org.jenkins-ci.tools:maven-hpi-plugin:jar:3.65 is missing, no dependency information available -
This indicates that Maven was unable to retrieve the plugin's metadata, which may prevent the HPI plugin from correctly registering annotations like
@Extensionor generatingMETA-INFentries — potentially contributing to the descriptor not being found during test execution. -
Despite successful compilation and validation (
mvn validate-hpi), the test fails at runtime due to incomplete plugin metadata.
Anything else?
No response
Are you interested in contributing a fix?
No response