Skip to content

Always run frontend_fixture as-if-foss when MR has frontend and feature flag labels

What does this MR do and why?

This MR creates rspec-all frontend_fixture as-if-foss job in MR pipelines when frontend and feature flag labels are applied.

This will prevent a master FOSS broken issue like #382998 (closed) which happened when a feature flag was moved to ee/, but it was still referenced in CE codebase.

With this change, when a feature flag is moved but is still referenced in CE codebase, rspec-all frontend_fixture as-if-foss job fails with InvalidFeatureFlagError.

Closes #382998 (closed)

Testing

Tested changes in !104320 (closed).

Code changes Pipeline Is InvalidFeatureFlagError detected?
Feature flag entry change with frontend feature flag (870913f3) rspec-all frontend_fixture as-if-foss is created: pipelines/702534041 Yes. rspec-all frontend_fixture as-if-foss fails with Feature::InvalidFeatureFlagError: Missing feature definition for pipeline_name.
Regression: Feature flag entry change with only feature flag (870913f3) rspec-all frontend_fixture as-if-foss is NOT created: pipelines/702553413 N/A

How to validate

  1. Create an MR and move a feature flag yaml file used in CE codebase to ee/config/feature_flags/* directory, e.g. !104320 (closed).
  2. Set a target branch to 382998-always-run-frontend-fixture-as-if-foss-when-feature-flag-is-changed for the MR.
  3. Ensure frontend and feature flag are applied to the MR.
  4. Run a new pipeline.

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 Nao Hashizume

Merge request reports

Loading