Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2017-08-01 11:08:14 +0300
committerShinya Maeda <shinya@gitlab.com>2017-09-03 17:49:10 +0300
commit0968e6ad4240eae8016340a550b4d871d823a903 (patch)
tree594f971de791a5b16353211c21894b671a9e99a0 /app/services/ci
parente5fd565c74b95815806d139f30676a895b88e29f (diff)
Tweak only new_builds. Revert the rest.
Diffstat (limited to 'app/services/ci')
-rw-r--r--app/services/ci/register_job_service.rb18
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?