Skip to content

Remote Development feature behind a feature flag

Chad Woolley requested to merge remote_dev into master

This is the integration branch in the Rails monolith gitlab project to reflect the Category:Remote Development work.

The main purpose of this MR is to have CI pipeline coverage for the integration branch. It is not intended for individual review and will never be merged. All the work to get the code on this branch merged to master is represented by Remote Development Beta - Review and merge rail... (&10258 - closed)

UPDATE: Because of the need to deliver the first release of this feature in %16.0 , we have changed our plans, and we now ARE planning to merge this MR. More details will be provided soon. See https://gitlab.com/gitlab-org/gitlab/-/issues/398227+ for more context on the rollout plan and release date requirements. See the Remote Development Beta - Review and merge rail... (&10258 - closed) epic for more context, explanation, and justification.

Notes on rebasing child MRs

This MR can be rebased against master normally.

The child MRs can be rebased onto this branch with an --onto command, e.g.:

git rebase head~1 --onto remote_dev

NOTE: Use head~1 if you have squashed to a single commit, or else use whatever the SHA of the previous merge-base (previous latest upstream commit) is.

See more details on this process at https://gitlab.com/gitlab-org/remote-development/gitlab-remote-development-docs/-/blob/main/doc/integration-branch-process.md#process-for-new-feature-work-on-the-integration-branches

Managing database migrations on this integration spike branch

For efficiency and simplicity, migrations on this branch are being managed in a non-standard way.

Whenever there are changes to the DB schema on this branch, you will need to reset your local database workspace tables by running:

  • scripts/remote_development/reset-remote-dev-db-tables.sh

The following comment explains the reasoning for this:

NOTE: Attempting to maintain multiple migrations on the remote_dev integration branch was becoming time-consuming and more complex than having a single migration.

Plus, when we rewrite the migrations to be merged to master, we will likely want it to be in clean consolidated migrations.

So, this script can be run to automatically reset and update the required db schema (tables, sequence, and indexes) without requiring any manual down/rollback migrations

**NOTE: This script may have errors if the integration branch is not completely up-to-date with master, so make sure you do a fresh rebase of it against master before attempting to run this script.

Screenshots or screen recordings

TODO: Add updated screen recording with latest UI.

How to set up and validate locally

See https://gitlab.com/gitlab-org/remote-development/gitlab-remote-development-docs/-/blob/main/doc/local-development-environment-setup.md

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports