Fix resetting upstream bridge to allow subsequent jobs to run [RUN ALL RSPEC] [RUN AS-IF-FOSS]
What does this MR do?
Here we are changing the implementation done in !41930 (merged).
When resetting an upstream bridge, we don't care about the subsequent skipped jobs that may be skipped because of the failed bridge.
In this MR, we fix it. Related to #297678 (closed)
It is behind a feature flag ci_reset_bridge_with_subsequent_jobs
#329194 (closed).
Screenshots (strongly suggested)
Example CI files:
# .gitlab-ci.yml
stages: [test, deploy, post_deploy]
test:
stage: test
script: sleep 2
deploy:
stage: deploy
trigger:
include: 'child.yml'
strategy: depend
post_deploy:
stage: post_deploy
script: sleep 15
# child.yml
test:
script:
- sleep 15
- exit $(($RANDOM % 2))
Before this MR
The downstream pipeline fails, so our bridge fails
We restart the downstream job "test"
"post_deploy" stays "skipped".
The upstream "post_deploy" remains the same
After this MR
The downstream pipeline fails, so our bridge fails
We restart the downstream job "test"
"post_deploy" transitions to "created" state.
The upstream "post_deploy" starts running
Result
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. -
I have not included a changelog entry because it is behind a FF.
-
-
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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