Skip to content
Snippets Groups Projects
Verified Commit fc7e22ba authored by Heinrich Lee Yu's avatar Heinrich Lee Yu Committed by GitLab
Browse files

Merge branch 'id-rails-7-fixes' into 'master'

Fixes for Rails 7.1 that can be extracted from the upgrade branch

See merge request !141741



Merged-by: Heinrich Lee Yu's avatarHeinrich Lee Yu <heinrich@gitlab.com>
Approved-by: Heinrich Lee Yu's avatarHeinrich Lee Yu <heinrich@gitlab.com>
Reviewed-by: Igor Drozdov's avatarIgor Drozdov <idrozdov@gitlab.com>
Reviewed-by: Heinrich Lee Yu's avatarHeinrich Lee Yu <heinrich@gitlab.com>
Co-authored-by: Igor Drozdov's avatarIgor Drozdov <idrozdov@gitlab.com>
parents edc89093 3242c23a
No related branches found
No related tags found
1 merge request!141741Fixes for Rails 7.1 that can be extracted from the upgrade branch
Pipeline #1205786552 failed
Pipeline: E2E Omnibus GitLab EE

#1205829440

    Pipeline: GitLab

    #1205789099

      Pipeline: E2E GDK

      #1205788044

        +28
        ......@@ -124,6 +124,12 @@ def self.default_select_columns
        end
        end
        # This method has been removed in Rails 7.1
        # However, application relies on it in case-when usages with objects wrapped in presenters
        def self.===(object)
        object.is_a?(self)
        end
        def readable_by?(user)
        Ability.allowed?(user, "read_#{to_ability_name}".to_sym, self)
        end
        ......
        ......@@ -8,6 +8,8 @@ def edited?
        end
        def last_edited_by
        return if last_edited_at.blank?
        super || Users::Internal.ghost
        end
        end
        ......@@ -74,6 +74,8 @@ def copy_project_rules
        if new_rule.valid?
        new_rule.save!
        else
        merge_request.approval_rules.delete(new_rule)
        Gitlab::AppLogger.debug(
        "Failed to persist approval rule: #{new_rule.errors.full_messages}."
        )
        ......
        ......@@ -14,14 +14,17 @@
        context 'when deleted user is present as both author and edited_user' do
        include_examples 'migrating records to the ghost user', Epic, [:author, :last_edited_by] do
        let(:created_record) do
        create(:epic, group: create(:group), author: user, last_edited_by: user)
        create(:epic, group: create(:group), author: user, last_edited_by: user, last_edited_at: Time.current)
        end
        end
        end
        context 'when deleted user is present only as edited_user' do
        include_examples 'migrating records to the ghost user', Epic, [:last_edited_by] do
        let(:created_record) { create(:epic, group: create(:group), author: create(:user), last_edited_by: user) }
        let(:created_record) do
        create(:epic, group: create(:group),
        author: create(:user), last_edited_by: user, last_edited_at: Time.current)
        end
        end
        end
        end
        ......
        ......@@ -126,6 +126,8 @@ def stub_operations_update_service_returning(return_value = {})
        context 'incident management', feature_category: :incident_management do
        describe 'GET #show' do
        render_views
        context 'with existing setting' do
        let!(:incident_management_setting) do
        create(:project_incident_management_setting, project: project)
        ......@@ -134,8 +136,8 @@ def stub_operations_update_service_returning(return_value = {})
        it 'loads existing setting' do
        get :show, params: project_params(project)
        expect(controller.helpers.project_incident_management_setting)
        .to eq(incident_management_setting)
        expect(response).to have_gitlab_http_status(:ok)
        expect(response.body).to include('data-auto-close-incident="true"')
        end
        end
        ......@@ -143,7 +145,8 @@ def stub_operations_update_service_returning(return_value = {})
        it 'builds a new setting' do
        get :show, params: project_params(project)
        expect(controller.helpers.project_incident_management_setting).to be_new_record
        expect(response).to have_gitlab_http_status(:ok)
        expect(response.body).to include('data-auto-close-incident="true"')
        end
        end
        end
        ......
        ......@@ -32,6 +32,7 @@ def load_initializer
        shared_examples 'logs to Gitlab::DeprecationJsonLogger' do |message, source|
        it 'logs them to Gitlab::DeprecationJsonLogger' do
        allow(Gitlab::DeprecationJsonLogger).to receive(:info)
        expect(Gitlab::DeprecationJsonLogger).to receive(:info).with(
        message: match(/^#{message}/),
        source: source
        ......
        ......@@ -3,7 +3,7 @@
        require 'spec_helper'
        RSpec.describe Ci::JobAnnotation, feature_category: :build_artifacts do
        let_it_be_with_reload(:job) { create(:ci_build, :success) }
        let_it_be_with_refind(:job) { create(:ci_build, :success) }
        describe 'validations' do
        subject { create(:ci_job_annotation, job: job) }
        ......
        ......@@ -17,14 +17,16 @@
        context 'when deleted user is present as both author and edited_user' do
        include_examples 'migrating records to the ghost user', Issue, [:author, :last_edited_by] do
        let(:created_record) do
        create(:issue, project: project, author: user, last_edited_by: user)
        create(:issue, project: project, author: user, last_edited_by: user, last_edited_at: Time.current)
        end
        end
        end
        context 'when deleted user is present only as edited_user' do
        include_examples 'migrating records to the ghost user', Issue, [:last_edited_by] do
        let(:created_record) { create(:issue, project: project, author: create(:user), last_edited_by: user) }
        let(:created_record) do
        create(:issue, project: project, author: create(:user), last_edited_by: user, last_edited_at: Time.current)
        end
        end
        end
        ......
        ......@@ -23,7 +23,10 @@
        it_behaves_like 'an idempotent worker' do
        let_it_be(:user) { create(:user) }
        let_it_be(:project) { create(:project, namespace: create(:group)) }
        let_it_be(:issue) { create(:issue, project: project, author: user, last_edited_by: user) }
        let_it_be(:issue) do
        create(:issue, project: project, author: user, last_edited_by: user, last_edited_at: Time.current)
        end
        subject { worker.perform }
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Finish editing this message first!
        Please register or to comment