Run stages/workflows manually

Summary of the feature request or feedback

We want to have control over triggering stages, and also be able to run only selected workflows from pending stage.

Details of the use-case

Our use case is to handle rollout of multiple Android applications. We consider using Build Pipelines for it. We want to have stages like internal (with workflows that upload the app to the internal test track), then alpha (with workflows that promote from internal test track to alpha track), alpha-to-production-1% (promote from alpha to production, staged rollout at 1%), production-5% (update staged rollout to 5%) etc.

Currently next stage in build pipeline is triggered automatically if previous stage is completed. What we look for is to:

  1. Trigger stage manually (e.g. trigger uploading all apps to the internal test track, or promote from internal test track to alpha, but not right after uploading to internal track, but when manual tests are concluded)
  2. Trigger only selected workflows from stage manually (e.g. upload only selected apps to the internal test track first)
  3. Trigger remaining workflows manually (e.g. some apps were uploaded to the internal test track first, and we want to upload remaining ones)

This is something which we currently have implemented in Gitlab CI/CD by using when: manual.

1 Like

This is a really great idea thanks for sharing.

I am interested in how long you think the manual building of paused stages should be available for?

Holding the manual deploy forever would likely not be an option.

1 Like

I think that there could be an option for aborting the pipeline if, for some reason, running next stages/workflows doesn’t make any sense no more (e.g. there’s new deploy of new version of the app that supersedes the previous one which for some reason (like bugs) is obsolete). After aborting the whole pipeline all paused workflows/stages would be cancelled.

This is currently available with the Rolling Builds feature.

I was more interested if a paused build should no longer be available after 30 days for example.

Since we cannot keep builds on pause for 10 years+