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.

Last modified August 23, 2024: Ensure frontmatter is consistent (e47101dc)