Skip to content

Add the logic of marking subsequent jobs as processable when playing job

What does this MR do?

After implementing !53476 (merged) (fix of #31264 (closed)), I realized that we don't enqueue the subsequent skipped jobs after playing a manual job. In this MR, we start marking those jobs as processable.

We are doing this when retrying a job. And in this MR, I copied this logic into playing a manual job.

(This MR is not completed yet, it needs some test)


With the feature flag ci_fix_pipeline_status_for_dag_needs_manual (#321972 (closed)) enabled =>

Example:

build:
  stage: build
  script: exit 0

test:
  stage: test
  when: manual
  script: exit 0

deploy:
  stage: deploy
  script: exit 0
  needs: [build, test]

After running:

Screen_Shot_2021-03-12_at_14.26.54

Before this MR

Playing 'test'

Screen_Shot_2021-03-12_at_14.27.06

Then...

Screen_Shot_2021-03-12_at_14.27.49

deploy should have run!

After this MR

Playing 'test'

Screen_Shot_2021-03-12_at_14.30.20

Then...

Screen_Shot_2021-03-12_at_14.30.46

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Furkan Ayhan

Merge request reports

Loading