diff --git a/lib/gitlab/ci/config/entry/processable.rb b/lib/gitlab/ci/config/entry/processable.rb index 1cdf84ef4d3cdf131de67de11aad2e26a99f6ee5..947b6787aa0d5ca18e301eaa25c68044f84dedac 100644 --- a/lib/gitlab/ci/config/entry/processable.rb +++ b/lib/gitlab/ci/config/entry/processable.rb @@ -142,14 +142,10 @@ def root_and_job_variables_value end def job_variables - return unless ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) - variables_value.to_h end def root_variables_inheritance - return unless ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) - inherit_entry&.variables_entry&.value end diff --git a/lib/gitlab/ci/config/normalizer/matrix_strategy.rb b/lib/gitlab/ci/config/normalizer/matrix_strategy.rb index 48b6fca598afa9417cf58478f43c3b48d94a0570..5cabbc86d3e48a6f34adc7dee98cf514e5e78f24 100644 --- a/lib/gitlab/ci/config/normalizer/matrix_strategy.rb +++ b/lib/gitlab/ci/config/normalizer/matrix_strategy.rb @@ -44,7 +44,7 @@ def attributes name: name, instance: instance, variables: variables, # https://gitlab.com/gitlab-org/gitlab/-/issues/300581 - job_variables: job_variables, + job_variables: variables, parallel: { total: total } }.compact end @@ -61,12 +61,6 @@ def name private attr_reader :job_name, :instance, :variables, :total - - def job_variables - return unless ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) - - variables - end end end end diff --git a/lib/gitlab/ci/pipeline/chain/seed.rb b/lib/gitlab/ci/pipeline/chain/seed.rb index 560e62ce8505352c484992b3fdca7db6ec875cd7..66fc67412529e077813449df7baa34d76a795a62 100644 --- a/lib/gitlab/ci/pipeline/chain/seed.rb +++ b/lib/gitlab/ci/pipeline/chain/seed.rb @@ -11,7 +11,7 @@ class Seed < Chain::Base def perform! raise ArgumentError, 'missing YAML processor result' unless @command.yaml_processor_result - if ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) + if ::Feature.enabled?(:ci_workflow_rules_variables, pipeline.project, default_enabled: :yaml) raise ArgumentError, 'missing workflow rules result' unless @command.workflow_rules_result end @@ -51,7 +51,7 @@ def context end def root_variables - if ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) + if ::Feature.enabled?(:ci_workflow_rules_variables, pipeline.project, default_enabled: :yaml) ::Gitlab::Ci::Variables::Helpers.merge_variables( @command.yaml_processor_result.root_variables, @command.workflow_rules_result.variables ) diff --git a/lib/gitlab/ci/pipeline/seed/build.rb b/lib/gitlab/ci/pipeline/seed/build.rb index 722ef1d658e62d1178d2ec76bf42fb82f04611dd..39dee7750d68b20bbd6c83e63735a02e6fe71de5 100644 --- a/lib/gitlab/ci/pipeline/seed/build.rb +++ b/lib/gitlab/ci/pipeline/seed/build.rb @@ -213,7 +213,7 @@ def allow_failure_criteria_attributes end def recalculate_yaml_variables! - return unless ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) + return unless ::Feature.enabled?(:ci_workflow_rules_variables, @pipeline.project, default_enabled: :yaml) @seed_attributes[:yaml_variables] = Gitlab::Ci::Variables::Helpers.inherit_yaml_variables( from: @context.root_variables, to: @job_variables, inheritance: @root_variables_inheritance diff --git a/lib/gitlab/web_ide/config/entry/terminal.rb b/lib/gitlab/web_ide/config/entry/terminal.rb index 514fca1435c2fb834e862cad807e111730a5fc35..ec07023461fdcddbea0aa92fe7184fcff41bb9a1 100644 --- a/lib/gitlab/web_ide/config/entry/terminal.rb +++ b/lib/gitlab/web_ide/config/entry/terminal.rb @@ -55,7 +55,7 @@ def to_hash { tag_list: tags || [], yaml_variables: yaml_variables, # https://gitlab.com/gitlab-org/gitlab/-/issues/300581 - job_variables: job_variables, + job_variables: yaml_variables, options: { image: image_value, services: services_value, @@ -74,12 +74,6 @@ def yaml_variables end end end - - def job_variables - return unless ::Feature.enabled?(:ci_workflow_rules_variables, default_enabled: :yaml) - - yaml_variables - end end end end diff --git a/spec/lib/gitlab/ci/config/entry/processable_spec.rb b/spec/lib/gitlab/ci/config/entry/processable_spec.rb index 6914eb15279ff71835694d7ea935bd4cc717827a..016d59e98b9df47c8935ced718722903f68132c4 100644 --- a/spec/lib/gitlab/ci/config/entry/processable_spec.rb +++ b/spec/lib/gitlab/ci/config/entry/processable_spec.rb @@ -389,20 +389,6 @@ def self.name end end - context 'when FF ci_workflow_rules_variables is disabled' do - before do - stub_feature_flags(ci_workflow_rules_variables: false) - end - - it 'does not return job_variables and root_variables_inheritance' do - expect(entry.value).to include( - variables: { 'A' => 'job', 'B' => 'job' } - ) - expect(entry.value).not_to have_key(:job_variables) - expect(entry.value).not_to have_key(:root_variables_inheritance) - end - end - context 'when root yaml variables are used' do let(:variables) do Gitlab::Ci::Config::Entry::Variables.new( @@ -520,21 +506,6 @@ def self.name root_variables_inheritance: true ) end - - context 'when FF ci_workflow_rules_variables is disabled' do - before do - stub_feature_flags(ci_workflow_rules_variables: false) - end - - it 'does not return job_variables and root_variables_inheritance' do - expect(entry.value).to eq( - name: :rspec, - stage: 'test', - only: { refs: %w[branches tags] }, - variables: {} - ) - end - end end end end diff --git a/spec/lib/gitlab/ci/config/normalizer/matrix_strategy_spec.rb b/spec/lib/gitlab/ci/config/normalizer/matrix_strategy_spec.rb index 0e3ea697a323333c0d70fb14fcd04f68cd7fb590..e5f0341c5fed215dc63e3329f3acae6f6252584a 100644 --- a/spec/lib/gitlab/ci/config/normalizer/matrix_strategy_spec.rb +++ b/spec/lib/gitlab/ci/config/normalizer/matrix_strategy_spec.rb @@ -107,54 +107,5 @@ ['test: [aws, app1]', 'test: [aws, app2]', 'test: [gcp, app]', 'test: [ovh, app]'] ) end - - context 'when the FF ci_workflow_rules_variables is disabled' do - before do - stub_feature_flags(ci_workflow_rules_variables: false) - end - - it 'excludes job_variables' do - expect(subject.map(&:attributes)).to match_array( - [ - { - name: 'test: [aws, app1]', - instance: 1, - parallel: { total: 4 }, - variables: { - 'PROVIDER' => 'aws', - 'STACK' => 'app1' - } - }, - { - name: 'test: [aws, app2]', - instance: 2, - parallel: { total: 4 }, - variables: { - 'PROVIDER' => 'aws', - 'STACK' => 'app2' - } - }, - { - name: 'test: [ovh, app]', - instance: 3, - parallel: { total: 4 }, - variables: { - 'PROVIDER' => 'ovh', - 'STACK' => 'app' - } - }, - { - name: 'test: [gcp, app]', - instance: 4, - parallel: { total: 4 }, - variables: { - 'PROVIDER' => 'gcp', - 'STACK' => 'app' - } - } - ] - ) - end - end end end diff --git a/spec/lib/gitlab/web_ide/config/entry/terminal_spec.rb b/spec/lib/gitlab/web_ide/config/entry/terminal_spec.rb index b0a52a094ac63caffc607614ee1771c39093cf63..59e53f9f64a96452b8ccd59dd097e8383b556e26 100644 --- a/spec/lib/gitlab/web_ide/config/entry/terminal_spec.rb +++ b/spec/lib/gitlab/web_ide/config/entry/terminal_spec.rb @@ -151,26 +151,6 @@ } ) end - - context 'when FF ci_workflow_rules_variables is disabled' do - before do - stub_feature_flags(ci_workflow_rules_variables: false) - end - - it 'returns correct value without job_variables' do - expect(entry.value) - .to eq( - tag_list: ['webide'], - yaml_variables: [{ key: 'KEY', value: 'value', public: true }], - options: { - image: { name: "ruby:2.5" }, - services: [{ name: "mysql" }], - before_script: %w[ls pwd], - script: ['sleep 100'] - } - ) - end - end end end end