Skip to content

Changes detected from queued pipelines resulting in longer builds #50

Description

@SA-Egress

Hi,

A pipeline is designed to check for changes in your codebase and then build those changes. For various reasons, only one pipeline can run at any given time.

  1. Pipeline A is triggered because it detected changes in your codebase.
  2. While Pipeline A is running, more changes are made to the codebase. Because Pipeline A is still running, these changes trigger another pipeline, Pipeline B, which is then queued to run after Pipeline A.
  3. More changes are made to the codebase while Pipeline A is still running. These changes trigger Pipeline C, which is queued to run after Pipeline B.
  4. Pipeline A finishes running and successfully builds the changes it detected.
  5. Now, Pipeline B starts running. However, the changes that Pipeline B detected include the changes that Pipeline A already built. This is because when Pipeline B was triggered and queued, it included the changes that were present at that time, which includes the changes that Pipeline A was running for.
  6. Pipeline B finishes running and successfully builds the changes it detected, including the changes that were already built by Pipeline A.
  7. Finally, Pipeline C starts running. But the changes that Pipeline C detected include the changes that both Pipeline A and Pipeline B already built. This is because when Pipeline C was triggered and queued, it included all the changes that were present at that time, which includes the changes that Pipelines A and B were running for.

Is there a way to work around this without having to split the pipeline?

Second question - if the pipeline partially succeeds or is cancelled. The changes are still not considered 'built' so will be included in the next run. Is that correct?

Kind Regards

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions