Fix weird Rails bug that leads to `runner_id=null` in SQL query
This commit is contained in:
parent
051f385e7e
commit
8d5d6ada5e
|
@ -90,7 +90,7 @@ module Ci
|
|||
|
||||
def builds_for_group_runner
|
||||
# Workaround for weird Rails bug, that makes `runner.groups.to_sql` to return `runner_id = NULL`
|
||||
groups = Group.joins(:runner_namespaces).merge(runner.runner_namespaces)
|
||||
groups = Group.joins(:runner_namespaces).where(runner_namespaces: { runner_id: runner })
|
||||
hierarchy_groups = Gitlab::GroupHierarchy.new(groups).base_and_descendants
|
||||
projects = Project.where(namespace_id: hierarchy_groups)
|
||||
.with_group_runners_enabled
|
||||
|
|
|
@ -5,15 +5,11 @@ module Ci
|
|||
set(:group) { create(:group) }
|
||||
set(:project) { create(:project, group: group, shared_runners_enabled: false, group_runners_enabled: false) }
|
||||
set(:pipeline) { create(:ci_pipeline, project: project) }
|
||||
let!(:shared_runner) { create(:ci_runner, is_shared: true) }
|
||||
let!(:specific_runner) { create(:ci_runner, is_shared: false) }
|
||||
let!(:shared_runner) { create(:ci_runner, :instance) }
|
||||
let!(:specific_runner) { create(:ci_runner, :project, projects: [project]) }
|
||||
let!(:group_runner) { create(:ci_runner, :group, groups: [group]) }
|
||||
let!(:pending_job) { create(:ci_build, pipeline: pipeline) }
|
||||
|
||||
before do
|
||||
specific_runner.assign_to(project)
|
||||
end
|
||||
|
||||
describe '#execute' do
|
||||
context 'runner follow tag list' do
|
||||
it "picks build with the same tag" do
|
||||
|
|
Loading…
Reference in New Issue