Skip to content

Add the pipeline wizard step component

Janis Altherr requested to merge add-step-component-for-pipeline-wizard into master

What does this MR do and why?

This MR is part of a larger effort to introduce the Pipeline Wizard Component

This MR introduces the Step Component. The pipeline wizard consists of one or more "Steps", a.k.a pages the user steps through to build their .gitlab-ci.yml file.

Screenshot_2021-11-19_at_11.27.29_copy_3

The steps properties are defined in a yaml file that is parsed upstream.

Example for a Step definition:

inputs:
  - label: Build Steps
    description: "Enter the steps necessary to build a production version of
      your application."
    widget: list
    target: $BUILD_STEPS
  - label: Select a deployment branch
    description: "Select the branch we should use to generate your site from.
      we will trigger a re-build of your site any time you push to this
      branch."
    widget: branch-selector
    target: $BRANCH
template:
  pages:
    script: $BUILD_STEPS
    artifacts:
      paths:
        - public
    only:
      - $BRANCH

A Step includes two properties (probably more to come):

  • inputs: A list of input definitions. Each item in inputs corresponds to one variable (e.g. $BUILD_STEPS) in the template section
  • A template section that contains the raw yaml that will be deep-merged into the final .gitlab-ci.yml. This template section can contain variables denoted by a $ sign that will be replaced with the values from the input fields.

The step component is responsible to initiate the compiled yaml with the raw template. Compiling the actual values into the final yaml is subsequantially the InputWrapper Component's responsibility.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Janis Altherr

Merge request reports