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

Select compatible plugin versions using a BOM

    XMLWordPrintable

    Details

    • Similar Issues:
    • Epic Link:

      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 -
            Hide
            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.

            Show
            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 ]
            Hide
            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.

            Show
            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
            Hide
            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.

            Show
            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 ]
            Hide
            jglick Jesse Glick added a comment -

            R. Tyler Croy suggest adding this to an Essentials sprint.

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

            Jesse Glick, 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
            ?

            Show
            rtyler R. Tyler Croy added a comment - Jesse Glick , 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 ]
            Hide
            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.

            Show
            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 ]
            Hide
            jglick Jesse Glick added a comment -

            Released a set of initial versions.

            Show
            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

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

                Dates

                Created:
                Updated:
                Resolved: