Problem/Motivation

Currently, job-specific directories have (for example) a drupalci.yml file and SimpletestJob php class.

However, the drupalci.yml file is really a template, and the SimpletestJob contains primarily Job configuration information.

In #2809941: Re-think config we are generally moving responsibility for config resolution to the most-specific plugin for that config. This means that build template YAML files should not have DCI variables in them, and that we can transition templates to being more of a definition for the process rather than variable replacement.

Furthermore, config files (such as those in ~/.drupalci/config) give us a namespace for config, but don't allow us to define a process other than by setting a DCI_ variable. Since RunCommand only allows us to specify a config file, we are not directly requesting a process, but instead some config that implies a process.

Proposed resolution

Change the argument of RunCommand to specify a build definition.

Within the codebase there will be a directory called builddefinitions/, and it will hold yaml files such as default.yml, patch.yml, and regression.yml.

These build definition files will define a build process. They can optionally define a default for config options within the build. They should not define DCI_ -type variable replacements.

RunCommand's single argument will map to these yaml build definition file names.

The build definitions will then drive the creation of various step/task plugins which will figure out their own config based on their needs.

Remaining tasks

User interface changes

API changes

Data model changes

Comments

jthorson created an issue. See original summary.

  • jthorson committed c7865ae on 2694577-move-config-to-yml
    Issue #2694577 by jthorson: Added config.yml files
    
  • jthorson committed d3be5c1 on 2694577-move-config-to-yml
    Issue #2694577 by jthorson: Rename template files to template.yml
    

  • jthorson committed 7d5d233 on 2694577-move-config-to-yml
    Issue #2694577 by jthorson: Added config file placeholder to...
Mixologic’s picture

Component: Code » Testrunner Codebase
mile23’s picture

Updated to reflect IRC chat with @Mixologic.

mile23’s picture

Title: Convert Job configuration to .yml files » Use build definition files instead of configset files
mile23’s picture

Issue summary: View changes
mile23’s picture

Status: Active » Postponed

This is basically postponed on #2809941: Re-think config so we can move local config to the template file.

  • Mixologic committed 33c8524 on 2694577-make-room-for-build-defs
    Issue #2694577: Removes config and config sets. This will be replaced by...
  • Mixologic committed 5a540a0 on 2694577-make-room-for-build-defs
    Issue #2694577: Removes config and config sets. This will be replaced by...

  • Mixologic committed 4db6358 on 2694577-make-room-for-build-defs
    Issue #2694577: config sets too
    
Mixologic’s picture

Status: Postponed » Needs review

The config set paradigm has been removed.

Mixologic’s picture

Status: Needs review » Fixed

This was merged in as part of the larger refactor.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.