Skip to content

Revisit directory structure of components project

Fabio Pitino requested to merge ci-components-directory-structure into master

What does this MR do and why?

Related to #377327 (closed)

In Define CI components syntax (#377327 - closed) we discussed a lot about alternatives to the directory structure. Some of the issues highlighted were:

  • more explicit file names
  • component filename to affect the component path

Given a components project gitlab-org/dast, in this MR I'm proposing the following changes:

  • the default component component: gitlab-org/dast@1.0 is identified by the file default.template.yml (or default.step.yml depending on the context/type).
  • the explicit component component: gitlab-org/dast/api-scan@1.0 is identified by the file api-scan.template.yml (or api-scan.step.yml depending on the context/type).
  • the components project contains only 1 README.md file at the root directory. This means that as we version and publish the component as a whole we can also document it as a whole. Like CircleCI Orbs. No need for granular README.md files per component.
  • Adjacent files can still be supported (e.g. for steps components) inside a <component-name>.<type> directory.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports