Prevent scheduling the same pipeline if it is already scheduled (pending)

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Description

Pipeline schedule creates a pipeline at the fixed interval. But it keeps creating a new pipeline even if the previous pipeline is still pending. The creation should be skipped if there are any scheduled-pending-jobs exists.

Currently, there is a workaround which using Auto-cancel pending pipelines. But it's better to have the logic in pipeline schedule itself.

We should discuss the following points

  • How about running status? Only targeting pending?
  • Should we consider the branch status? If HEAD changed?
  • Scheduling the same pipeline may be useful for checking dependencies even if the project source has not changed.
  • Should we have a checkbox to leverage this logic?
  • Do we need an annotation that we skipped? Or silently skipped? (e.g. Create a new pipeline but status is skipped.)

Proposal

Prevent scheduling the same pipeline if it is already scheduled (pending)

Links / references

Documentation blurb

Overview

What is it? Why should someone use this feature? What is the underlying (business) problem? How do you use this feature?

Use cases

Who is this for? Provide one or more use cases.

Feature checklist

Make sure these are completed before closing the issue, with a link to the relevant commit.

  • Feature assurance
  • Documentation
  • Added to features.yml

/cc @ayufan @bikebilly

Edited Aug 28, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading