Skip to content

[Corrective Action] Validate the presenters (the ones inherited from Gitlab::View::Presenter::Delegated) do not override ActiveRecord defined methods, including the schema defined attributes

This is a part of FCL issues.

Problem

Originally this problem was unveiled in this comment. This issue is a corrective action for a recent production incident on CI/CD pipelines.

The presenters are essentially for fabricating AR models to provide frontend oriented logic. So having frontend modules are orthogonal to the code design, however, it should not override the core/backend behavior of the model, such as attributes in the database schema.

Because we lack this validation, we didn't notice this accidental override, which led to the production incident. Theoretically, we can have the same bug in any places not only Build Retry.

Proposal

Validate the presenters (the ones inherited from Gitlab::View::Presenter::Delegated) do not override ActiveRecord defined methods, including the schema defined attributes

Edited by Shinya Maeda