GitLab Steps ADR 001: Bootstrap Step Runner
Context
GitLab Steps is a new feature that does not have any prior usage at GitLab. We decided that there are two important objectives at this stage of the project:
- Integrate the project into existing CI pipelines for the purpose of user evaluation as part of an Experiment phase.
- Provide a contribution framework for other developers in the form of a project with contribution guidelines.
Decision
The GitLab Steps: Iteration 1: Bootstrap Step Runner (MVC) was created to achieve the following objectives:
- We defined the initial plan to bootstrap the project.
- The project will be stored in
gitlab-org/step-runner
. - We will implement the Step Definition as a Protocol Buffer. The initial implementation is described in the Baseline Step Proto.
- Usage of Protocol Buffers will provide strong guards for the minimal required definition to be used by the project.
- We will provide documentation on how to use GitLab Steps in existing CI pipelines.
Alternatives
No alternatives were considered at this phase, since there's no pre-existing work at GitLab for that type of feature.