Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-47498

Select compatible plugin versions using a BOM

    XMLWordPrintable

Details

    Description

      Currently there is no easy way to use pipeline in unit tests.

      You need to add all of the required deps and exclude lots of conflicting versions of dependencies.

      It would be nice if I could just add a dependency on the aggregator with scope test and be done with it - but this also is not possible due to upper-bounds conflicts.

      Attachments

        Issue Links

          Activity

            teilo James Nord created issue -
            jglick Jesse Glick added a comment -

            Add latest (baseline-compatible) versions of those plugins you are actually using in the test.

            Do not use exclusions. Just declare test-scoped dependencies on any otherwise transitive dependencies that requireUpperBoundDeps complains about.

            jglick Jesse Glick added a comment - Add latest (baseline-compatible) versions of those plugins you are actually using in the test. Do not use exclusions. Just declare test -scoped dependencies on any otherwise transitive dependencies that requireUpperBoundDeps complains about.
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Resolution Not A Defect [ 7 ]
            Status Open [ 1 ] Resolved [ 5 ]
            jglick Jesse Glick added a comment -

            Converting to a more general RFE that the Jenkins project should publish a BOM somewhere you could import which specifies consistent versions of all plugins listed (incl. transitive dependencies) in the setup wizard’s suggested list; to be refreshed at least with every LTS line (versioned accordingly), and perhaps more often, taking latest versions from the update center.

            jglick Jesse Glick added a comment - Converting to a more general RFE that the Jenkins project should publish a BOM somewhere you could import which specifies consistent versions of all plugins listed (incl. transitive dependencies) in the setup wizard’s suggested list; to be refreshed at least with every LTS line (versioned accordingly), and perhaps more often, taking latest versions from the update center.
            jglick Jesse Glick made changes -
            Component/s plugin-pom [ 21982 ]
            Component/s workflow-aggregator-plugin [ 21710 ]
            Component/s workflow-basic-steps-plugin [ 21712 ]
            Component/s workflow-cps-plugin [ 21713 ]
            Component/s workflow-job-plugin [ 21716 ]
            Issue Type Task [ 3 ] New Feature [ 2 ]
            Priority Minor [ 4 ] Major [ 3 ]
            Summary should be an easy way to use pipeline in unit tests Easy way to select compatible plugin versions for test scope
            jglick Jesse Glick made changes -
            Resolution Not A Defect [ 7 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            jglick Jesse Glick made changes -
            Status Reopened [ 4 ] Open [ 1 ]
            cloudbees CloudBees Inc. made changes -
            Remote Link This issue links to "CloudBees Internal CJP-7862 (Web Link)" [ 18952 ]
            jglick Jesse Glick made changes -
            Summary Easy way to select compatible plugin versions for test scope Select compatible plugin versions using a BOM
            jglick Jesse Glick added a comment -

            After getting some experience with the effect of a BOM on plugin POMs, I am becoming more convinced that this is the right direction. For example, common POM maintenance can be performed by adding entries to dependencyManagement, but just using a newer parent would be a lot simpler.

            jglick Jesse Glick added a comment - After getting some experience with the effect of a BOM on plugin POMs, I am becoming more convinced that this is the right direction. For example, common POM maintenance  can be performed by adding entries to dependencyManagement , but just using a newer parent would be a lot simpler.
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-45047 [ JENKINS-45047 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-33268 [ JENKINS-33268 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-48578 [ JENKINS-48578 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "pom-manipulation-ext (Web Link)" [ 19402 ]
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is related to JENKINS-48578 [ JENKINS-48578 ]
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is duplicated by JENKINS-48578 [ JENKINS-48578 ]
            jglick Jesse Glick added a comment -

            rtyler suggest adding this to an Essentials sprint.

            jglick Jesse Glick added a comment - rtyler suggest adding this to an Essentials sprint.
            rtyler R. Tyler Croy added a comment -

            jglick, could you expand on why you're suggesting that? None of the work that I'm doing at the moment is around test infrastructure for plugins/core per se (ATH work excepted), and is mostly geared around delivering the Jenkins Essentials image.

            I can see a tenuous link here, but I'm not sure I fully understand why this suggests Jenkins Essentials prioritization right now
            ?

            rtyler R. Tyler Croy added a comment - jglick , could you expand on why you're suggesting that? None of the work that I'm doing at the moment is around test infrastructure for plugins/core per se (ATH work excepted), and is mostly geared around delivering the Jenkins Essentials image. I can see a tenuous link here, but I'm not sure I fully understand why this suggests Jenkins Essentials prioritization right now ?
            jglick Jesse Glick made changes -
            Labels essentials
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-50540 [ JENKINS-50540 ]
            rarabaolaza Raul Arabaolaza made changes -
            Link This issue blocks JENKINS-51008 [ JENKINS-51008 ]
            jglick Jesse Glick made changes -
            Epic Link JENKINS-50686 [ 189770 ]
            jglick Jesse Glick added a comment -

            Added to JENKINS-50686 since we might be able to use JENKINS-50953 to update the contents of the BOM.

            jglick Jesse Glick added a comment - Added to JENKINS-50686 since we might be able to use JENKINS-50953 to update the contents of the BOM.
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-50953 [ JENKINS-50953 ]
            batmat Baptiste Mathus made changes -
            Labels essentials essentials evergreen
            batmat Baptiste Mathus made changes -
            Labels essentials evergreen evergreen
            jglick Jesse Glick made changes -
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "prototype repo (Web Link)" [ 23218 ]
            jglick Jesse Glick made changes -
            Link This issue is blocked by HOSTING-800 [ HOSTING-800 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "prototype repo (Web Link)" [ 23218 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "jenkinsci/bom repo (Web Link)" [ 23223 ]
            jglick Jesse Glick made changes -
            Component/s bom [ 25623 ]
            Component/s plugin-pom [ 21982 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-58557 [ JENKINS-58557 ]
            jglick Jesse Glick made changes -
            Link This issue is blocked by INFRA-2183 [ INFRA-2183 ]
            jglick Jesse Glick made changes -
            Link This issue is blocked by JENKINS-58615 [ JENKINS-58615 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-49651 [ JENKINS-49651 ]
            jglick Jesse Glick added a comment -

            Released a set of initial versions.

            jglick Jesse Glick added a comment - Released a set of initial versions.
            jglick Jesse Glick made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Resolved [ 5 ]
            jglick Jesse Glick made changes -
            Link This issue depends on JENKINS-58716 [ JENKINS-58716 ]

            People

              jglick Jesse Glick
              teilo James Nord
              Votes:
              6 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: