Skip to content

Automatically run a pipeline when Auto DevOps is turned on in project settings

Description

Auto DevOps can be enabled or disabled in project settings page. If we enable it, nothing happens automatically, until we do the next push. This is not what we expect.

Proposal

Automatically run a pipeline on the default branch (master) when enabling Auto DevOps in project settings, or when selecting settings default if it is enabled instance wide at that specific moment.

If the user unselects the checkbox (enabled by default), the pipeline will not be created, just settings will be saved.

If the project already has .gitlab-ci.yml or any other conditions that inhibit Auto DevOps, no checkbox will appear. If the instance setting is off, no checkbox will appear when selecting Instance default.

This is the expected behavior:

  • Select Enable Auto DevOps: show the checkbox (only if no .gitlab-ci.yml or similar cases, and previous value was not this one)
  • Select Disable Auto DevOps: don't show the checkbox
  • Select Instance default (enabled): show the checkbox (only if no .gitlab-ci.yml or similar cases, and previous value was not this one)
  • Select Instance default (disabled): don't show the checkbox

Note: if no changes are made to the previous selection, no checkbox will be shown and no pipeline will run.

Design

When users enable Auto DevOps / Instance default

  • [x] Immediately run a pipeline on the default branch shows up.
  • The checkbox is enabled by default.
Auto DevOps Instance default
01-enable-auto-devops 01-enable-instance-default

When users disable Auto DevOps / Instance default

  • [x] Immediately run a pipeline on the default branch disappears.

02-disable-auto-devops

After saving changes, it has an extra banner under the Pipeline settings for "xxx" updated banner. Users can go to pipeline pages by clicking the link in the banner.

  • Copy: A new Auto DevOps pipeline has been created, go to [Pipelines page] for details.

banner

Links / references

Auto/Integrated DevOps: https://gitlab.com/gitlab-org/gitlab-ce/issues/35712
Auto DevOps++: https://gitlab.com/gitlab-org/gitlab-ce/issues/38366
Dismissal plan for Auto DevOps banners: https://gitlab.com/gitlab-org/gitlab-ce/issues/38931

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.

Edited by Fabio Busatto