<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>7527</bug_id>
          
          <creation_ts>2015-03-27 11:31:57 +0000</creation_ts>
          <short_desc>Integrate Toaster with Jenkins</short_desc>
          <delta_ts>2022-06-30 15:13:35 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>Toaster</product>
          <component>toaster</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>OBSOLETE</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Belen Barros Pena">belen.barros.pena</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>alexandru.damian</cc>
    
    <cc>belen.barros.pena</cc>
    
    <cc>cristiana.voicu</cc>
    
    <cc>daniel</cc>
    
    <cc>david.reyna</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>joaohf</cc>
    
    <cc>joshuagloe</cc>
    
    <cc>markus.boos</cc>
    
    <cc>msuraev</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>tim.orling</cc>
    
    <cc>wmills</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>49852</commentid>
    <comment_count>0</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2015-03-27 11:31:57 +0000</bug_when>
    <thetext>The informal interviews I carry out regularly with users have revealed Jenkins as the most used CI tool by far. It does make sense to start thinking of how to provide Toaster integration with Jenkins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49914</commentid>
    <comment_count>1</comment_count>
    <who name="Alexandru Damian">alexandru.damian</who>
    <bug_when>2015-03-30 14:01:45 +0000</bug_when>
    <thetext>After summarely investigating Jenkins (installation, configuration for building poky, building and inspecting artifacts), I can propose three features that would provide degrees of integration between Toaster and Jenkins.

a). Toaster results uploader; Jenkins supports plugins for doing actions with the artifacts it creates during the build process; we could build a plugin that uploads toaster build logs to a Toaster instance; this is similar to what we currently support for Autobuilder.

b). Exporting/Importing project configurations between Toaster/Jenkins; we could provide a way to export a current Toaster project configuration (Project name, layer set, target set, and project configuration variables) and import this project as a Jenkins Freestyle project that would re-create the artifacts. 

c). Triggering a build for a certain project in Jenkins. Toaster could provide an user interface to trigger a build on a Jenkins remote instance.


Each option in part builds another layer of functionality, and using all three options we can build and provide a Jenkins build executor for Toaster; but I suspect that having modularized options is more valuable for prospective users as they can mix and match based on their needs.

If this makes sense, we need to open up new feature bugs for each of the options I described.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49990</commentid>
    <comment_count>2</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2015-03-31 15:59:18 +0000</bug_when>
    <thetext>A comment from the community (pasting here to keep track of things):

On 31/03/2015 10:39, &quot;Anders Darander&quot; wrote:

If there&apos;s some project configuration that needs to be done in Toaster,
I&apos;d appreciate if as much as possible could be retrieved from our
current Jenkins setup (i.e. exported from the Jenkins plugin to
Toaster). (Not least as we&apos;re running a couple of scripts to source the
environment and handling some extra configurations needed; thus I&apos;d
assume we couldn&apos;t just take the freestyle Jenkins project talked about
in b) of Alexandru &apos;s first comment in #YOCTO-7527.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50170</commentid>
    <comment_count>3</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2015-04-09 12:42:22 +0000</bug_when>
    <thetext>Some other comments / requests:

* Show Jenkins job name and build number in Toaster. Those could be retrieved from the environment variables BUILD_NUMBER and JOB_NAME in the Jenkins build.

* Use the above to link back to Jenkins jobs and builds from Toaster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50636</commentid>
    <comment_count>4</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2015-04-30 12:41:45 +0000</bug_when>
    <thetext>There was some discussion during the Toaster weekly call on April 29th. We identified 2 integration types:

1. Show data coming from Jenkins builds using the Toaster analysis mode

2. Send configuration for builds that will run in Jenkins and receive build artifacts using the Toaster build mode

Although the initial goal of the release was doing number 2, we have settled for the following: we will provide type 1 integration for both Autobuilder and Jenkins, plus the ability to download build artifacts (logs, images and SDKs). We will aim for a generic solution for the latter: an API people can use to pass the artifacts location to Toaster. 

We will continue to explore the problem of the type 2 integration, to come up with a good solution that we might be able to implement in a future release. 

Alex, feel free to split this enhancement if you need to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53021</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Halstead">mhalstead</who>
    <bug_when>2015-08-12 15:58:09 +0000</bug_when>
    <thetext>Clearing 2.0 milestone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81748</commentid>
    <comment_count>6</comment_count>
    <who name="David Reyna">david.reyna</who>
    <bug_when>2018-10-04 13:37:08 +0000</bug_when>
    <thetext>Reviewed 10/18</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>87594</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2020-06-25 08:18:30 +0000</bug_when>
    <thetext>One approach might be using the CROPS toaster-container</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93626</commentid>
    <comment_count>8</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2022-06-30 15:13:35 +0000</bug_when>
    <thetext>Jenkins isn&apos;t as popular as it once was. -- YP bug team</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>