(replies inline) On Fri, 20 Apr 2018, Carlos Sanchez wrote:
> Hi there, > > I have filed a new JEP to address the concept of Bill of Materials (BoM). > > *https://github.com/jenkinsci/jep/pull/92 > <https://github.com/jenkinsci/jep/pull/92>* > > The BoM idea came up after different conversations with Tyler/KK/Oleg and > several more people - thanks for the feedback! - talking about how can we > define a Jenkins package ("classic" jenkins, essentials, custom) to ensure > that latest master of core and plugins can be easily used and tested, as > well as the too typical use case of PRs in progress across multiple modules. > > The main goal is to increase velocity by providing developers automatic > artifacts and the result of tests against those artifacts before these > combinations of PRs are merged. In order to create some safety nets that > encourage contributions and facilitate reviews. There have been a lot of comments on that pull request, but I wanted to bring one aspect of the discussion back to the development mailing list. As I have been working this past week with jglick on the incrementals publishing, I'm recognizing that the yaml we sketched out previously requires some logic to be re-implemented in a few different places. Take the following snippet for example: plugins: - groupId: org.jenkins-ci.plugins artifactId: git ref: PR-1663 # or how are pull requests handled here? Whether it's the Jenkins Essentials tooling, custom-war-packager, or any test/maven tooling, something is going to have to translate those GAV coordinates into an actual artifact which is either downloaded, or locally referenced. In an incrementals build, a pull-request built Git plugin artifact would actually be located: https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/git/3.8.1-rc1663.454c4a5e4d30/git-3.8.1-rc1663.454c4a5e4d30.hpi I'm not sure how I would build the tooling to use the above YAML to resolve to the URL, which makes me wonder: why not just have the full artifact URL listed in the Bill of Materials? For example: plugins: - groupId: org.jenkins-ci.plugins artifactId: git url: https://repo.jenkins-ci.org/incrementals/org/jenkins-ci/plugins/git/3.8.1-rc1663.454c4a5e4d30/git-3.8.1-rc1663.454c4a5e4d30.hpi >From the Jenkins Essentials perspective, all I really need is an artifact ID and URL for the artifact, but I'm not sure if that's all that's needed for the other use-cases here. Just thought I would raise the question since I don't feel like I understand how to go from the Bill of Materials to binaries right now. Cheers -R Tyler Croy -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/20180427165458.GG2935%40grape.lasagna.io. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: PGP signature
