Coming from a Jenkins world, Buildkite’s Block step seems much more versatile than Jenkins’ Input step. However, Buildkite’s Block step is lacking a timeout, so if the block is never resolved, the job just ‘hangs’ indefinitely - it’s not using an agent, but it leaves cruft in the repo’s pipeline view.
Having a timeout in place on the Block step could open up a variety of useful options for users:
- Jobs get cancelled after the timeout.
- The default option is executed after the timeout.
- The notion of a polyphasic deploy pipeline - we only intend to deploy to integration right now, but our pipeline is capable of deploying all the way to production if we desire. So we can do our integration deploy successfully, and the pipeline can reflect a successful build despite the pipeline not being utilized to completion.