Bug #1915

Variant matching in template ignores variant variable in distribution files

Added by J. Wienke almost 10 years ago. Updated about 9 years ago.

Status:ResolvedStart date:07/14/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:Processing Model
Target version:0.4

Description

If I understand the system correctly, then each template consists of different job types that are selected based on certain conditions expressed for each job type. Most of the conditions for the job types that we use atm are of the form:

"conditions": [                                                      
    "variant", "nightly"                                             
] 

I just tried to create a distribution that is of the following form:
{
    "name":      "monitoring-experiments",

    "variables": {

        "bla-name":       "${distribution-name}",

        "toolkit.volume": "/tmp/",
        "variant":        "nightly",
        "toolkit.dir":    "${toolkit.volume}/${variant}/",

My naive assumption is that specifying the variable variant would be sufficient to trigger the condition in the templates. However, it is not. It seems that by some mechanism only the distribution name is matched against the specified condition. As a consequence, this results in an empty distribution without any error message.

So there are two aspects of this:
#. How is the project name matched against a condition on something called "variant"?
#. Please issue errors in case no job is generated because no template matches.

Associated revisions

Revision 5b843dde
Added by J. Moringen about 9 years ago

Removed variant and distribution handling in src/**/*.lisp

fixes #2175
fixes #1915

  • New variable :disable-ochestration-jobs controls whether orchestration
    jobs are generated.
  • Removed all :variant and :distribution[s] variable access. These are
    no longer necessary.
  • src/project/classes-spec.lisp (project-spec): added superclass
    `parented-mixin'
    (instantiate version-spec): removed variant stuff
  • src/commandline-interface/main.lisp (locate-projects): record the
    distribution which requested a project version
    (load-projects/versioned): install responsible distribution as parent
    of project
    (tag-project-versions): removed; no longer needed
    (configure-buildflow-job): only trigger prepare/finish jobs when they
    exist
    (configure-jobs): allow configuring names of orchestration jobs; only
    generate orchestration jobs when there names are defined
    (configure-distribution): only generate orchestration jobs if
    :disable-ochestration-jobs is not defined
    (main): do not call `tag-project-versions'

History

#1 Updated by S. Meyer zu Borgsen over 9 years ago

The bug is still present in 0.3.
If you specify neither "nightly" nor "NUMBER" you get no jobs without any warning/error.
If you specify something like "-nightly-NUMBER" each job gets build twice with the buildflow.

#2 Updated by J. Moringen about 9 years ago

  • Category set to Processing Model
  • Target version changed from 0.2 to 0.4

#3 Updated by J. Moringen about 9 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF