Skip to content

Conversation

@jgarciacloudbees
Copy link
Contributor

Description

After the changes implemented on jenkinsci/configuration-as-code-plugin#2712, there are some failing CasC test on the plugin:

com.cloudbees.jenkins.plugins.platform.CasCTest#smokeExport

The idea behind this PR is to upgrade the CasC plugin dependencies to 1995.v540b_50a_eb_0c1 and fix the failing tests.

Submitter checklist

  • Link to JIRA ticket in description, if appropriate.
  • Change is code complete and matches issue description
  • Automated tests have been added to exercise the changes
  • Reviewer's manual test instructions provided in PR description. See Reviewer's first task below.

Reviewer checklist

  • Run the changes and verify that the change matches the issue description
  • Reviewed the code
  • Verified that the appropriate tests have been written or valid explanation given

Documentation changes

  • Link to jenkins.io PR, or an explanation for why no doc changes are needed

Users/aliases to notify

@jgarciacloudbees jgarciacloudbees requested a review from a team as a code owner September 26, 2025 08:54
Comment on lines +94 to +95
<!-- TODO: remove when included in jenkins-bom via parent -->
<version>1995.v540b_50a_eb_0c1</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Normally these overrides would be kept in dependencyManagement for clarity, but OK.

Comment on lines +13 to +15
repositoryAccessStrategy:
specificRepositories: {
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that all of these cases of empty objects reflect design mistakes in some plugin or another: the configuration code should be fixed to default to null fields. https://www.jenkins.io/doc/developer/plugin-development/pipeline-integration/#handling-default-values is about Pipeline steps but the same principles apply. So if and when those mistakes are fixed, this test would be adjusted correspondingly.

The motivation to skip empty objects in the original JCasC implementation was not explained, but presumably it was an attempt to produce simpler exports by working around these plugin mistakes. Yet it prevented plugins from deliberately treating the presence or absence of an object (typically f:optionalProperty in the GUI) as significant.

@jglick jglick merged commit db846d7 into jenkinsci:master Sep 26, 2025
17 checks passed
jglick added a commit that referenced this pull request Oct 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants