diff options
author | Shinya Maeda <shinya@gitlab.com> | 2017-08-01 11:08:14 +0300 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2017-09-03 17:49:10 +0300 |
commit | 0968e6ad4240eae8016340a550b4d871d823a903 (patch) | |
tree | 594f971de791a5b16353211c21894b671a9e99a0 /app/services/ci | |
parent | e5fd565c74b95815806d139f30676a895b88e29f (diff) |
Tweak only new_builds. Revert the rest.
Diffstat (limited to 'app/services/ci')
-rw-r--r-- | app/services/ci/register_job_service.rb | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/app/services/ci/register_job_service.rb b/app/services/ci/register_job_service.rb index 93b1c86aad4..a51c28808dd 100644 --- a/app/services/ci/register_job_service.rb +++ b/app/services/ci/register_job_service.rb @@ -54,25 +54,21 @@ module Ci private def builds_for_shared_runner - b = new_builds. + new_builds. # don't run projects which have not enabled shared runners and builds joins(:project).where(projects: { shared_runners_enabled: true, pending_delete: false }) .joins('LEFT JOIN project_features ON ci_builds.project_id = project_features.project_id') - .where('project_features.builds_access_level IS NULL or project_features.builds_access_level > 0') - - b = runner.protected? ? b.on_protected : b.unprotected + .where('project_features.builds_access_level IS NULL or project_features.builds_access_level > 0'). # Implement fair scheduling # this returns builds that are ordered by number of running builds # we prefer projects that don't use shared runners at all - b.joins("LEFT JOIN (#{running_builds_for_shared_runners.to_sql}) AS project_builds ON ci_builds.project_id=project_builds.project_id") - .order('COALESCE(project_builds.running_builds, 0) ASC', 'ci_builds.id ASC') + joins("LEFT JOIN (#{running_builds_for_shared_runners.to_sql}) AS project_builds ON ci_builds.project_id=project_builds.project_id") + .order('COALESCE(project_builds.running_builds, 0) ASC', 'ci_builds.id ASC') end def builds_for_specific_runner - b = new_builds.where(project: runner.projects.without_deleted.with_builds_enabled) - b = runner.protected? ? b.on_protected : b.unprotected - b.order('created_at ASC') + new_builds.where(project: runner.projects.without_deleted.with_builds_enabled).order('created_at ASC') end def running_builds_for_shared_runners @@ -81,7 +77,9 @@ module Ci end def new_builds - Ci::Build.pending.unstarted + builds = Ci::Build.pending.unstarted + builds = builds.on_protected if runner.protected? + builds end def shared_runner_build_limits_feature_enabled? |