Introducing steps
In order to make our template more reusable, introducing a step will allow our users to configure a components flexibly, some ideas from the discussion in #352347 (comment 899154905) and the blueprint architectural
Goal
Allow users to define a step that runs GitHub actions in GitLab CI
Additional details
We will want steps to allow running GitHub Actions flavor as well. So, the directory will already contain action.yaml
or action.yml
. GitLab will transparently convert action.yaml
to step.yaml
and run step.yaml
.
We will likely implement that in a form of a separate gem that will be able to read actions.yaml
and generate a valid step.yaml
. The translation should cover 90% of cases to provide compatible environment, in case it would not work user could use this gem to generate step.yaml
and update it. The purpose of separate gem is that it could be used outside of GitLab.
The idea behind this would be:
- we own our own syntax of
step.yaml
- you could either use pre-existing actions from github just using
github.com/path/to/action
- convert it to GitLab and be able to fix it