Skip build stages that have no operations
What does this MR do?
This adds a ErrSkipBuildStage error that can be returned as early as possible when detecting that a build stage won't have any consequence if not run.
Why was this MR needed?
- Increased performance by not executing redundant stages.
- Prevents empty BuildSections.
- Doesn't execute a user's docker container for after_script if no script is provided.
Are there points in the code the reviewer needs to double check?
Does this MR meet the acceptance criteria?
-
Documentation created/updated -
Added tests for this feature/bug -
In case of conflicts with master
- branch was rebased
What are the relevant issue numbers?
Closes #25233 (closed)
Edited by Arran Walker