Skip to content

Fix missing `ci_cd_settings` relation on project creation

Vasilii Iakliushin requested to merge 421050_fix_ci_cd_settings_load into master

What does this MR do and why?

Contributes to #421050 (closed)

Problem

Relation ci_cd_settings is automatically created for every new project. But it only works if this relation was not touched during project creation flow.

group_runners_enabled field is delegated to ci_cd_settings. When user passes group_runners_enabled to the Projects::CreateService, it initializes ci_cd_settings relation with a nil value. Because of that, when the project is saved this relation doesn't create a record in ci_cd_settings table.

Solution

Explicitly build an association for ci_cd_settings if it's missing.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

  1. See steps to reproduce: #421050 (closed)
Edited by Vasilii Iakliushin

Merge request reports

Loading