(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 jenkinsci-dev+unsubscr...@googlegroups.com. 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