Create gitlab-vscode-build image
What does this MR do and why
Why
We are in the process of upgrading the Web IDE VSCode Fork to version 1.85.1. This version of VSCode uses a newer version of Node.JS than the one currently supported by the docker image gitlab-vscode-nodeless
(^= 18.17.1).
What
This merge request creates a new Docker image to build GitLab projects based on VSCode like gitlab-vscode-fork and the gitlab-web-ide. This image is based on docker official node image. It also adds system libraries indicated as requirements in VSCode development documentation https://github.com/microsoft/vscode/wiki/How-to-Contribute#prerequisites
Next steps
After the VSCode Fork project is upgraded, we will remove the gitlab-vscode-nodeless
image.
How to test?
- Check out this merge request branch in your local environment.
- Checkout the vscode-fork upgrade merge request branch in your local environment gitlab-web-ide-vscode-fork!71 (closed).
- In this repository branch:
- Create an image from this Dockerfile
docker build -t gitlab-vscode-build -f Dockerfile.gitlab-vscode-build .
- Start a container in interactive mode and mount a volume that points to the gitlab-vscode-fork repository:
docker run -it -v /Users/youruser/gitlab/gitlab-web-ide-vscode-fork:/root/vscode gitlab-vscode-build /bin/sh
- Run
yarn install
- Run
yarn gulp core-ci
- Both commands should pass successfully.
- Create an image from this Dockerfile
CI environment
The following passing build demonstrates that we can use this image to build the VSCode fork https://gitlab.com/gitlab-org/gitlab-web-ide-vscode-fork/-/jobs/6004728939
Checklist
-
(If applicable) Add patches if required for upgrading Ruby version in https://gitlab.com/gitlab-org/gitlab-build-images/-/tree/master/patches/ruby.