[go: up one dir, main page]

Skip to content

Change project templates contribution flow

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problems

  1. The current process of adding/updating of project templates is complicated. It requires user to have a GDK installed and then to manually execute a list of commands. It's complicated and inefficient, which makes it difficult for the community to contribute.

  2. The list of project templates is not in sync with a built-in list of templates for new projects.

Proposal

Currently, we create vendor archives to distribute the built-in templates. They should match what user sees in project-template group but it's often not the case.

To fix that we can reverse the contribution flow. The SSOT will be the project-templates group. Projects listed there will be automatically archived and distributed with the GitLab package.

For automation, we can build a bot similar to renovate-bot. The bot will:

  1. Get a list of projects from the project-template group.
  2. Detect changes between the template from project-template group and the vendored archive.
  3. Open a MR to gitlab-org/gitlab with new changes.

The new flow

User wants to create a new template

  1. The user creates a public template and requests a review from a GitLab team member
  2. The GitLab team member approves it and forks the project into project-templates group
  3. The bot automatically detect the new project and opens a merge request to gitlab-org/gitlab.
  4. The GitLab team member verifies the merge request and merges it.

User wants to update the existing template

  1. The user opens a merge request for project from project-templates group
  2. The GitLab team member reviews, approves and merges it.
  3. The bot automatically detect that the project was changed and opens a merge request to gitlab-org/gitlab.
  4. The GitLab team member verifies the merge request and merges it.
Edited by 🤖 GitLab Bot 🤖