-
- Downloads
Pre-create all builds for Pipeline when a trigger is received
This change simplifies a Pipeline processing by introducing a special new status: created. This status is used for all builds that are created for a pipeline. We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped). This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled. This also allows us to visualise a full pipeline (with created builds). This also removes an after_touch used for updating a pipeline state parameters. Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
Showing
- CHANGELOG 1 addition, 0 deletionsCHANGELOG
- app/controllers/projects/builds_controller.rb 1 addition, 1 deletionapp/controllers/projects/builds_controller.rb
- app/controllers/projects/commit_controller.rb 2 additions, 2 deletionsapp/controllers/projects/commit_controller.rb
- app/controllers/projects/merge_requests_controller.rb 2 additions, 2 deletionsapp/controllers/projects/merge_requests_controller.rb
- app/controllers/projects/pipelines_controller.rb 1 addition, 1 deletionapp/controllers/projects/pipelines_controller.rb
- app/models/ci/build.rb 3 additions, 9 deletionsapp/models/ci/build.rb
- app/models/ci/pipeline.rb 27 additions, 57 deletionsapp/models/ci/pipeline.rb
- app/models/commit_status.rb 23 additions, 8 deletionsapp/models/commit_status.rb
- app/models/concerns/statuseable.rb 19 additions, 12 deletionsapp/models/concerns/statuseable.rb
- app/services/ci/create_builds_service.rb 0 additions, 62 deletionsapp/services/ci/create_builds_service.rb
- app/services/ci/create_pipeline_builds_service.rb 42 additions, 0 deletionsapp/services/ci/create_pipeline_builds_service.rb
- app/services/ci/create_pipeline_service.rb 73 additions, 22 deletionsapp/services/ci/create_pipeline_service.rb
- app/services/ci/create_trigger_request_service.rb 4 additions, 13 deletionsapp/services/ci/create_trigger_request_service.rb
- app/services/ci/process_pipeline_service.rb 77 additions, 0 deletionsapp/services/ci/process_pipeline_service.rb
- app/services/create_commit_builds_service.rb 0 additions, 69 deletionsapp/services/create_commit_builds_service.rb
- app/services/git_push_service.rb 1 addition, 1 deletionapp/services/git_push_service.rb
- app/services/git_tag_push_service.rb 1 addition, 1 deletionapp/services/git_tag_push_service.rb
- app/views/projects/ci/pipelines/_pipeline.html.haml 1 addition, 1 deletionapp/views/projects/ci/pipelines/_pipeline.html.haml
- app/views/projects/commit/_pipeline.html.haml 2 additions, 2 deletionsapp/views/projects/commit/_pipeline.html.haml
- db/migrate/20160716115711_add_queued_at_to_ci_builds.rb 9 additions, 0 deletionsdb/migrate/20160716115711_add_queued_at_to_ci_builds.rb
app/services/ci/process_pipeline_service.rb
0 → 100644
Please register or sign in to comment