Remove ci_stop_populating_p_ci_build_tags feature flag
What does this MR do and why?
Removes the ci_stop_populating_p_ci_build_tags feature flag which controlled whether build tags are written to the p_ci_build_tags table.
With the feature flag enabled (now the default), build tags are stored in ci_job_definitions instead of p_ci_build_tags. This MR finalizes that migration by:
- Removing the feature flag and its YAML definition
-
Removing
BuildsTagsConfiguration- sinceuses_taggings?returnedfalse,BulkInsert#insert!would return early without doing any work for builds. The class is no longer needed. -
Skipping the
save_tagscallback inCi::Build- usesskip_callback :save, :after, :save_tagsto prevent the inherited callback fromCi::Taggablefrom running, since tags are now stored in job definitions -
Removing
Ci::BulkInsertableTagsprepend fromCi::Build- this module's purpose was to suppress individualsave_tagscalls when bulk inserting. Since thesave_tagscallback is now skipped for builds, the prepend is unnecessary. The module itself remains forCi::Runnerwhich still uses bulk tag insertion. -
Removing
with_bulk_insert_tagswrapper from pipeline creation - no longer needed since thesave_tagscallback is skipped for builds -
Removing the explicit
pipeline.transactionblock - was only needed for atomicity betweenpipeline.save!andbulk_insert_tags! - Removing the unused
taggable_statusesmethod -
Updating
pending_buildsfactory - usesfind_or_create_all_with_like_by_nameinstead ofnamedto ensure tags exist when creating pending builds in tests
Changelog: removed
References
- Feature issue: #580301 (closed)
- Rollout issue: #583505 (closed)
- Introduction MR: !215235 (merged)
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by Pedro Pombeiro