Manual pipeline can override build status of branch pipeline

Issue #18482 new
Philip Hodder staff created an issue

Example YAML:

pipelines:
  default:
    - step:
        script:
          - echo Hello
  custom:
    manual-pipeline:
      - step:
          script:
            - echo Hello

Normally, when you run a branch pipeline (via a push) and a manual pipeline (on a commit), they will show as two different builds on the Build Status dialog for a specified commit.

However, it is possible to have the manual pipeline override the build status of the branch pipeline. This is caused by triggering the manual pipeline on the Branches Page instead of on an individual commit.

Steps to reproduce:

  1. Use the YAML specified above.
  2. Trigger a push pipeline on a specific branch (we'll call this foo-branch).
  3. This will have also created a new commit on the branch (called abc123)
  4. Go to the Branches Page, and select the "..." for the 'foo-branch' branch. Select "Run pipeline for a branch" and then "manual-pipeline".
  5. Go to the commit, and see that the build status still only shows one build, which now links to the newly triggered "manual-pipeline".

Expected behaviour:
Both the automatically push triggered branch pipeline and the manually triggered pipeline should show on this commit.

Similar behaviour can also be seen on the Build Status of a Pull Request.

Comments (2)

  1. Thomas Shanks

    We trigger pipelines through the API. This appears to be happening every time we run a custom pipeline.

    We always trigger custom pipelines on the branch because they don't appear under Pipelines for that branch otherwise. We have far too many pipelines running at once to be able to manage them through the list of all pipelines; the per-branch view of pipelines is essential for us.

  2. Log in to comment