Use CI Steps to define developer environment configuration for Workspaces
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
MR: Pending
Description
As part of Workspaces on CI Runners BETA (&16650) , we will be converting a devfile into a CI job YAML. We will essentially be converting the devfile into a list of CI Steps and creating a job from those steps.
The issue is about providing users the ability to directly define CI steps for defining their developer environments instead of providing a devfile.
The reasons for this are as follows
- CI Steps are composable units of execution.
- CI Steps can be run locally in a docker container - CI Steps Phase: Users can run steps in their ow... (&15073 - closed)
- CI Steps provides a registry to publish various CI steps. Users can bring in their own registries or CI Steps.
- CI Steps provides a concept of versioning in-built.
- CI Steps are already used in CI. As we are using CI Runners, using the same constructs/definitions would bring a unifying approach as a platform.
- CI Steps are also being proposed for Duo Workflows.
- CI Steps are a definition by GitLab which are highly composable. Relying on a foreign definition(devfiles/devcontainers) can be restrictive/challenging in terms of what we want to do vs what the specification wants you to do.
Acceptance criteria
-
Run an investigation to determine the feasibility and benefits of this. -
Understand if we need to build on top of CI/CD Components or CI Steps
Implementation plan
N.A.
This is a discussion/spike issue.
Edited by 🤖 GitLab Bot 🤖