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

Attachment: signature.asc
Description: PGP signature

Reply via email to