Enable Workspaces on Content Sites Handbook

MR: Enable Workspace on Content Sites Handbook (gitlab-com/content-sites/handbook!15148 - merged)

MR: https://gitlab.com/gitlab-com/content-sites/internal-handbook/-/merge_requests/7317+

MR: Add Handbook workspace image (gitlab-build-images!992 - merged)

MR: docs(workspace): init running handbook in works... (gitlab-com/content-sites/docsy-gitlab!264 - merged)

Previous MR: Add workspaces .devfile.yaml (gitlab-com/content-sites/handbook!6988 - closed)

Description

Allows Remote Development workspaces to be created for handbook project.

Acceptance Criteria

  • install mise and npm in the handbook image in gitlab-build-images
  • The handbook image would be a standalone static image, using our workspace base image, like Dockerfile.workspaces-web-ide
  • have one sudo access agent configured, as we need sudo for most docker commands
  • have the devfile ready using the above image built, and have port 1313 opened
  • have the pre-script running some default setup command, like mise install, sudo dockerd; follow the MR here as reference chore: Set up workspaces in the Web IDE (gitlab-web-ide!423 - merged)
  • Ensure the linters and formatters work as expected; see below comment for justify
  • Add one additional doc for using workspace for handbook update, and list all needed instructions there, https://handbook.gitlab.com/docs/development/

Justification

The GitLab Handbook receives frequent contributions from team members outside of Engineering. Different non-engineering contributors have their own ways of working, and some start drafts in Google Docs before opening a merge request. This can lead to avoidable pipeline errors in MR for issues that might have been caught earlier with access to the development setup with linters and formatters. But maintaining that setup can be tedious, especially for those not working in code regularly. There's an opportunity here to make the contribution process smoother and more reliable.

Edited by 🤖 GitLab Bot 🤖