Extract tools-injector from gitlab-web-ide-vscode-fork to a new repository

MRs:

sample config to detect new tag (gitlab-org/remote-development/gitlab-workspaces-tools!2 - merged)

Extract tools injector (gitlab-org/remote-development/gitlab-workspaces-tools!1 - merged)

Cleanup CI Jobs, add release steps to readme an... (gitlab-org/remote-development/gitlab-workspaces-tools!4 - merged)

Update tools injector image (!156918 - merged)

Description

As highlighted in gitlab-web-ide-vscode-fork#21 (comment 1760144641) and other places, we need to move the tools-injector out of https://gitlab.com/gitlab-org/gitlab-web-ide-vscode-fork into a new repository - for example https://gitlab.com/gitlab-org/remote-development/gitlab-workspaces-tools . Furthermore, it does not make sense to keep tools-injector into gitlab-web-ide-vscode-fork since we are looking to add other tools into it e.g. GitLab Workflow extension, glab CLI, etc.

The new repository would roughly have a config.yaml

assets:
  - repository: "https://gitlab.com/gitlab-org/gitlab-web-ide-vscode-fork"
    tag: "1.81.1-1.0.0-dev-20240118092323"
  - repository: "https://gitlab.com/gitlab-org/gitlab-vscode-extension"
    tag: "v3.100.0"
  - repository: "https://gitlab.com/gitlab-org/cli"
    tag: "v1.36.0"

Using this, we would fetch all the required assets for these tagged releases and build the container image.

Acceptance Criteria

  • A CI pipeline will run daily which will check if there is a new tag/release for any assets in config.yaml. If the latest tag/releases for these repositories are more recent than the ones present in config.yaml, create an MR which will update the config.yaml. This MR will be assigned to a team member who will approve/merge it.
  • Whenever there is a new tag in this repository, it will publish a new image of the tools injector.
  • When the built container image is used in the workspace, it works without any errors.
Edited by Safwan Ahmed