Add the pipeline wizard step component
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.
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 ininputs
corresponds to one variable (e.g.$BUILD_STEPS
) in thetemplate
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.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Janis Altherr