From 5432f5480f334a0bd15ed06568e0c82f0dd54e45 Mon Sep 17 00:00:00 2001 From: Mayra Cabrera Date: Thu, 2 May 2019 18:27:35 +0000 Subject: Adds a way to start multiple manual jobs in stage - Adds an endpoint on PipelinesController - Adds a service that iterates over every build in a stage and plays it. - Includes 'play_manual' details on EntitySerializer - Builds a new Stage state: PlayManual. An stage can take this status if it has manual builds or an skipped, scheduled or manual status - Includes FE modifications and specs --- .../components/graph/action_component.vue | 14 ++-- .../pipelines/components/graph/graph_component.vue | 1 + .../components/graph/stage_column_component.vue | 25 ++++++- app/assets/stylesheets/pages/pipelines.scss | 1 + app/controllers/projects/stages_controller.rb | 25 +++++++ app/models/ci/legacy_stage.rb | 4 ++ app/models/ci/pipeline.rb | 4 ++ app/models/ci/stage.rb | 4 ++ app/services/ci/play_manual_stage_service.rb | 29 ++++++++ .../unreleased/28741-play-all-manual-jobs.yml | 5 ++ config/routes/project.rb | 6 ++ lib/gitlab/ci/status/stage/factory.rb | 3 +- lib/gitlab/ci/status/stage/play_manual.rb | 43 ++++++++++++ locale/gitlab.pot | 3 + .../controllers/projects/stages_controller_spec.rb | 72 ++++++++++++++++++++ spec/features/projects/pipelines/pipeline_spec.rb | 14 ++++ .../pipelines/graph/action_component_spec.js | 11 +++ .../pipelines/graph/stage_column_component_spec.js | 49 ++++++++++++++ spec/lib/gitlab/ci/status/stage/factory_spec.rb | 18 ++++- .../lib/gitlab/ci/status/stage/play_manual_spec.rb | 74 ++++++++++++++++++++ spec/models/ci/legacy_stage_spec.rb | 2 + spec/models/ci/pipeline_spec.rb | 32 +++++++++ spec/models/ci/stage_spec.rb | 2 + spec/serializers/pipeline_serializer_spec.rb | 2 +- spec/serializers/stage_entity_spec.rb | 28 ++++++++ spec/serializers/stage_serializer_spec.rb | 31 +++++++++ spec/services/ci/play_manual_stage_service_spec.rb | 79 ++++++++++++++++++++++ .../shared_examples/ci/stage_shared_examples.rb | 27 ++++++++ 28 files changed, 600 insertions(+), 8 deletions(-) create mode 100644 app/controllers/projects/stages_controller.rb create mode 100644 app/services/ci/play_manual_stage_service.rb create mode 100644 changelogs/unreleased/28741-play-all-manual-jobs.yml create mode 100644 lib/gitlab/ci/status/stage/play_manual.rb create mode 100644 spec/controllers/projects/stages_controller_spec.rb create mode 100644 spec/lib/gitlab/ci/status/stage/play_manual_spec.rb create mode 100644 spec/serializers/stage_serializer_spec.rb create mode 100644 spec/services/ci/play_manual_stage_service_spec.rb create mode 100644 spec/support/shared_examples/ci/stage_shared_examples.rb diff --git a/app/assets/javascripts/pipelines/components/graph/action_component.vue b/app/assets/javascripts/pipelines/components/graph/action_component.vue index 8ca539351a7..3c85bb61ce8 100644 --- a/app/assets/javascripts/pipelines/components/graph/action_component.vue +++ b/app/assets/javascripts/pipelines/components/graph/action_component.vue @@ -1,5 +1,5 @@