Skip to content

Draft: ci: Automate integration MRs creation

Issue: Create a CI job that automates the creation of ... (#43)

What does this MR do?

It creates a tool to automate the creation of integration merge requests that will be used to perform exploratory tests of newer versions of VSCode in the Web IDE and Workspaces. The tool automates the following procedure:

  1. Creates a package in the package registry of the VSCode Fork based on the build artifacts produced by the Merge Request's CI pipeline.
  2. Creates a branch in the gitlab-web-ide project and pushes a commit that modifies the configuration file that references the VSCode Fork build used by the Web IDE. The configuration file points to the package created in step 1. If the branch already exists, pushes the commit to the existing branch.
  3. Creates a Merge Request for the branch created in step 2. The MR provides instructions on how to perform exploratory testing in the target project and the expected outcome of these tests. If the MR exists, it doesn't create a new one.
  4. Repeats steps 2 and 3 for the project gitlab-org/remote-development/workspaces-tools .

Configuration files

This tool modifies the following files that are used to specify the VSCode Fork version used in the Web IDE and Workspaces:

Web IDE caveats

The DRI of performing exploratory tests in the Web IDE has to change the following product configuration manually https://gitlab.com/gitlab-org/gitlab-web-ide/-/blob/main/packages/vscode-bootstrap/src/start.ts#L110. The instructions to do this are included in the Integration MR's description.

Integration MR demos

What does the pipeline output looks like?

How to test?

Run the create-integration-merge-requests manual job in this MR's CI pipeline. If you want to run this CI job more than once, you have to delete the branch created in a previous execution.

Edited by Enrique Alcántara

Merge request reports

Loading