[ 
https://issues.apache.org/jira/browse/CB-8805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14485774#comment-14485774
 ] 

ASF GitHub Bot commented on CB-8805:
------------------------------------

Github user dblotsky commented on a diff in the pull request:

    https://github.com/apache/cordova-medic/pull/41#discussion_r28000339
  
    --- Diff: buildbot-conf/cordova.conf ---
    @@ -234,8 +245,15 @@ plugins_cleanup_steps = [
     common_plugins_steps = plugins_cleanup_steps + get_medic_steps + [
     
         # download medic's config to slave
    -    Download(mastersrc=PROJECTS_CONFIG_FILE, 
slavedest='cordova-medic/cordova-repos.json'),
    -    Download(mastersrc=MEDIC_CONFIG_FILE, 
slavedest='cordova-medic/config.json'),
    +    Download(mastersrc=MEDIC_CONFIG_FILE, 
slavedest='cordova-medic/config.json', description='downloading master\'s 
config'),
    +
    +    # download repo config
    +    # NOTE:
    +    #      only one of these steps should be executed; thanks
    +    #      to Buildbot there is no good if-else construct for
    +    #      builds, so we have two steps with 'doStepIf's
    +    SH(command=['curl', P(REPOS_PROPERTY_NAME), '--output', 
'cordova-medic/cordova-repos.json'], description='downloading custom repo 
config', doStepIf=dont_use_default_repos),
    +    Download(mastersrc=PROJECTS_CONFIG_FILE, 
slavedest='cordova-medic/cordova-repos.json', description='downloading default 
repo config', doStepIf=use_default_repos),
    --- End diff --
    
    I wish it worked that way, but sadly [it does 
not](http://docs.buildbot.net/current/manual/cfg-properties.html#using-properties-in-steps).
 :disappointed: The way to do what you're talking about is to implement a 
[custom step that runs shell 
commands](http://docs.buildbot.net/current/manual/customization.html#running-commands),
 which is just as convoluted.
    
    The way to solve it properly is to have only one download step and use a 
*default* property value, like so: 
    
        `P('repositories_config', default=PROJECTS_CONFIG_FILE)`
    
    The issue right now is that the default file uses `FileDownload`, while the 
custom file uses `ShellCommand(command=['curl', ...])`, and making both use the 
same one is also a convoluted process. This will be fixed entirely once we 
switch to using [Buildbot 
Codebases](http://docs.buildbot.net/current/manual/concepts.html#multiple-codebase-builds)
 for managing multiple repositories.


> Allow specifying repo versions for on-demand medic builds
> ---------------------------------------------------------
>
>                 Key: CB-8805
>                 URL: https://issues.apache.org/jira/browse/CB-8805
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Medic
>    Affects Versions: Master
>            Reporter: Dmitry Blotsky
>            Priority: Critical
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> Right now medic only does builds from master for multi-repo builds (e.g. 
> plugins builds). There should be a way to specify the version of each repo 
> that goes into a build. This is needed for release testing and for PR testing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to